2071 lines
43 KiB
CSS
2071 lines
43 KiB
CSS
/* ===========================
|
|
* RESET GENERALE
|
|
* =========================== */
|
|
* {
|
|
all: unset;
|
|
font-family: system-ui, sans-serif;
|
|
font-size: 14px;
|
|
color: #e4e7eb;
|
|
}
|
|
|
|
/* ===========================
|
|
* FINESTRA PRINCIPALE
|
|
* =========================== */
|
|
window {
|
|
background-color: #1a1d23;
|
|
border-radius: 12px;
|
|
padding: 0;
|
|
}
|
|
|
|
/* ===========================
|
|
* TITOLO DASHBOARD
|
|
* =========================== */
|
|
.title {
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
color: #e4e7eb;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.card {
|
|
background: #242830;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 12px;
|
|
/* box-shadow: 0 1px 3px rgba(0,0,0,0.4); */
|
|
padding: 8px;
|
|
width: 100%;
|
|
}
|
|
|
|
.card label {
|
|
color: #e4e7eb;
|
|
font-size: 14px;
|
|
line-height: 1.3;
|
|
/* word-wrap: break-word; */
|
|
}
|
|
|
|
.card image {
|
|
margin-right: 12px;
|
|
min-width: 64px;
|
|
min-height: 64px;
|
|
}
|
|
|
|
/* Titolo interno alle card */
|
|
.card label:first-child {
|
|
font-weight: bold;
|
|
font-size: 15px;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
/* Card log */
|
|
.log-card {
|
|
min-height: 100px;
|
|
/* max-height: 100px; */
|
|
min-width: 0;
|
|
/* max-width: 100%; */
|
|
}
|
|
|
|
.log-card scrollbar.vertical {
|
|
min-width: 6px;
|
|
}
|
|
|
|
.log-card textview {
|
|
font-size: 11px;
|
|
}
|
|
|
|
/* ===========================
|
|
* FILECHOOSERDIALOG
|
|
* =========================== */
|
|
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: 6px;
|
|
padding: 6px 12px;
|
|
border: none;
|
|
font-weight: 500;
|
|
}
|
|
|
|
filechooserdialog button:hover {
|
|
background: #1e3a56;
|
|
}
|
|
|
|
filechooserdialog button:active {
|
|
background: #142d42;
|
|
}
|
|
|
|
filechooserdialog list row {
|
|
background: transparent;
|
|
color: #e4e7eb;
|
|
padding: 6px 10px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
filechooserdialog list row:hover {
|
|
background: rgba(58, 110, 165, 0.25);
|
|
}
|
|
|
|
filechooserdialog list row:selected {
|
|
background: #1e3352;
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* ===========================
|
|
* HEADER BAR
|
|
* =========================== */
|
|
headerbar.custom-headerbar {
|
|
background: transparent;
|
|
border: none;
|
|
/* box-shadow: none; */
|
|
min-height: 32px;
|
|
padding: 0;
|
|
}
|
|
|
|
headerbar .header-left {
|
|
background-color: #1a1d23;
|
|
border-top-left-radius: 12px;
|
|
min-width: 240px;
|
|
padding: 0;
|
|
}
|
|
|
|
headerbar .header-right {
|
|
background-color: #1a1d23;
|
|
padding: 4px 8px;
|
|
}
|
|
|
|
headerbar button.header-button {
|
|
background: transparent;
|
|
border: none;
|
|
min-width: 28px;
|
|
min-height: 28px;
|
|
padding: 4px;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
headerbar button.header-button:hover {
|
|
background: rgba(255,255,255,0.1);
|
|
}
|
|
|
|
/* ======================
|
|
* HEADER DELLA SIDEBAR
|
|
* ====================== */
|
|
.sidebar-header {
|
|
padding: 12px 16px;
|
|
margin-bottom: 6px;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.12);
|
|
}
|
|
|
|
.sidebar-header image {
|
|
margin-right: 8px;
|
|
}
|
|
|
|
.sidebar-title {
|
|
font-weight: bold;
|
|
font-size: 15px;
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* ===========================
|
|
* SIDEBAR LAYOUT FIX
|
|
* =========================== */
|
|
|
|
.sidebar {
|
|
padding: 16px;
|
|
}
|
|
|
|
.sidebar-group-label {
|
|
color: #ffffff;
|
|
font-weight: 600;
|
|
margin-left: 6px;
|
|
margin-right: 6px;
|
|
margin-top: 8px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.sidebar .sidebar-button {
|
|
color: #d0d9e8;
|
|
background-color: transparent;
|
|
border-radius: 10px;
|
|
padding: 8px 10px;
|
|
min-height: 36px;
|
|
}
|
|
|
|
.sidebar .sidebar-button > box {
|
|
margin-left: 2px;
|
|
margin-right: 2px;
|
|
}
|
|
|
|
.sidebar .sidebar-button image {
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.sidebar-theme-row {
|
|
margin-left: 6px;
|
|
margin-right: 6px;
|
|
margin-top: 4px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.theme-btn {
|
|
min-width: 0;
|
|
min-height: 36px;
|
|
padding: 0 14px;
|
|
border-radius: 10px;
|
|
background-color: rgba(255, 255, 255, 0.12);
|
|
opacity: 0.85;
|
|
}
|
|
|
|
.theme-btn:hover {
|
|
background-color: rgba(255, 255, 255, 0.20);
|
|
}
|
|
|
|
.theme-btn-active {
|
|
opacity: 1.0;
|
|
background-color: rgba(255, 255, 255, 0.24);
|
|
}
|
|
|
|
.sidebar-lang-combo,
|
|
.sidebar .sidebar-lang-combo,
|
|
.sidebar combobox.sidebar-lang-combo {
|
|
margin-left: 6px;
|
|
margin-right: 6px;
|
|
margin-top: 4px;
|
|
margin-bottom: 10px;
|
|
min-height: 38px;
|
|
min-width: 0;
|
|
padding: 6px 12px;
|
|
border-radius: 10px;
|
|
background-color: rgba(255, 255, 255, 0.12);
|
|
color: #ffffff;
|
|
border: none;
|
|
}
|
|
|
|
.sidebar-lang-combo:hover,
|
|
.sidebar combobox.sidebar-lang-combo:hover {
|
|
background-color: rgba(255, 255, 255, 0.20);
|
|
}
|
|
|
|
.sidebar-lang-combo arrow,
|
|
.sidebar combobox.sidebar-lang-combo arrow {
|
|
color: #ffffff;
|
|
}
|
|
|
|
.sidebar-separator {
|
|
background-color: rgba(255, 255, 255, 0.12);
|
|
min-height: 1px;
|
|
margin-left: 6px;
|
|
margin-right: 6px;
|
|
margin-top: 10px;
|
|
margin-bottom: 10px;
|
|
border-radius: 1px;
|
|
}
|
|
|
|
/* ===========================
|
|
* SIDEBAR
|
|
* =========================== */
|
|
.sidebar {
|
|
background-color: #1e3352;
|
|
border-bottom-left-radius: 12px;
|
|
padding: 12px;
|
|
}
|
|
|
|
.sidebar .sidebar-button {
|
|
color: #d0d9e8;
|
|
background-color: transparent;
|
|
border-radius: 8px;
|
|
padding: 4px 6px;
|
|
/* transition: background-color 160ms ease; */
|
|
}
|
|
|
|
.sidebar .sidebar-button:hover {
|
|
background-color: rgba(255, 255, 255, 0.12);
|
|
}
|
|
|
|
.sidebar .sidebar-button:pressed {
|
|
background-color: rgba(255, 255, 255, 0.20);
|
|
}
|
|
|
|
.sidebar .sidebar-button.active-sidebar-button {
|
|
background-color: rgba(255, 255, 255, 0.20);
|
|
}
|
|
|
|
.sidebar .sidebar-button label {
|
|
color: #ffffff;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.sidebar-group-label {
|
|
color: #ffffff;
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* ===========================
|
|
* COMBOBOX Sidebar
|
|
* =========================== */
|
|
.sidebar .sidebar-langrow {
|
|
margin: 6px 0 8px 0;
|
|
padding: 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol {
|
|
margin: 6px 0 10px 0;
|
|
padding: 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox {
|
|
background-color: rgba(255, 255, 255, 0.12);
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
padding: 6px 10px;
|
|
min-height: 28px;
|
|
min-width: 0;
|
|
/* max-width: 100%; */
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox:hover {
|
|
background-color: rgba(255, 255, 255, 0.20);
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox arrow {
|
|
-gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
|
|
color: #ffffff;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol button.sidebar-button-apply {
|
|
color: #ffffff;
|
|
background-color: rgba(255, 255, 255, 0.12);
|
|
border-radius: 6px;
|
|
padding: 6px 10px;
|
|
min-height: 28px;
|
|
margin-top: 6px;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol button.sidebar-button-apply:hover {
|
|
background-color: rgba(255, 255, 255, 0.20);
|
|
}
|
|
|
|
/* Popover sidebar lang */
|
|
.sidebar .sidebar-langcol combobox popover,
|
|
.sidebar .sidebar-langcol combobox popover.menu,
|
|
.sidebar .sidebar-langcol popover.menu {
|
|
background: #2a2f3b;
|
|
color: #e4e7eb;
|
|
border-radius: 8px;
|
|
border: 1px solid #3a3f4b;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox popover modelbutton {
|
|
padding: 4px 10px;
|
|
margin: 2px 4px;
|
|
border-radius: 6px;
|
|
background: transparent;
|
|
color: #e4e7eb;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox popover modelbutton:hover {
|
|
background: rgba(58,110,165,0.25);
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox popover modelbutton:checked,
|
|
.sidebar .sidebar-langcol combobox popover modelbutton:active {
|
|
background: #1e3352;
|
|
color: #ffffff;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox popover modelbutton:checked * {
|
|
color: #ffffff;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox popover list row,
|
|
.sidebar .sidebar-langcol combobox popover listview row {
|
|
padding: 4px 10px;
|
|
margin: 2px 4px;
|
|
border-radius: 6px;
|
|
background: transparent;
|
|
color: #e4e7eb;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox popover list row:hover,
|
|
.sidebar .sidebar-langcol combobox popover listview row:hover {
|
|
background: rgba(58,110,165,0.25);
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox popover list row:selected,
|
|
.sidebar .sidebar-langcol combobox popover listview row:selected {
|
|
background: #1e3352;
|
|
color: #ffffff;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox popover list row:selected *,
|
|
.sidebar .sidebar-langcol combobox popover listview row:selected * {
|
|
color: #ffffff;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol combobox:hover {
|
|
background-color: rgba(255,255,255,0.20);
|
|
}
|
|
|
|
/* ===========================
|
|
* SELEZIONE LISTE / GRIGLIE
|
|
* =========================== */
|
|
listview row:selected,
|
|
list row:selected,
|
|
columnview row:selected {
|
|
background-color: #1e3352;
|
|
color: #ffffff;
|
|
}
|
|
|
|
listview row:selected *,
|
|
list row:selected *,
|
|
columnview row:selected * {
|
|
color: #ffffff;
|
|
}
|
|
|
|
gridview child:selected,
|
|
flowbox child:selected {
|
|
background-color: #1e3352;
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
gridview child:selected *,
|
|
flowbox child:selected * {
|
|
color: #ffffff;
|
|
}
|
|
|
|
filechooserdialog listview row:selected,
|
|
filechooserdialog list row:selected,
|
|
filechooserdialog columnview row:selected,
|
|
filechooserdialog gridview child:selected {
|
|
background-color: #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;
|
|
}
|
|
|
|
listview row:hover,
|
|
list row:hover,
|
|
columnview row:hover,
|
|
gridview child:hover,
|
|
flowbox child:hover {
|
|
background-color: rgba(58,110,165,0.20);
|
|
}
|
|
|
|
/* Selezione testo */
|
|
entry selection,
|
|
text selection,
|
|
textview text selection {
|
|
background-color: #1e3352;
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* ===========================
|
|
* FILE CHOOSER DIALOG BUTTONS
|
|
* =========================== */
|
|
window.dialog actionbar button,
|
|
window.dialog .dialog-action-area > button {
|
|
border-radius: 8px;
|
|
padding: 4px 10px;
|
|
min-height: 26px;
|
|
min-width: 110px;
|
|
font-weight: 500;
|
|
border: 1px solid transparent;
|
|
}
|
|
|
|
window.dialog actionbar box.start > button:first-child,
|
|
window.dialog .dialog-action-area > button:first-child {
|
|
background: #2a2f3b;
|
|
color: #c9cdd4;
|
|
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: #0d6efd;
|
|
color: #ffffff;
|
|
border-color: #0b5ed7;
|
|
}
|
|
|
|
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: #0b5ed7;
|
|
}
|
|
|
|
window.dialog actionbar button:disabled,
|
|
window.dialog .dialog-action-area > button:disabled {
|
|
background: #2a2f3b;
|
|
border-color: #3a3f4b;
|
|
color: #5a6070;
|
|
}
|
|
|
|
/* ===========================
|
|
* MAIN CONTENT
|
|
* =========================== */
|
|
.content {
|
|
background-color: #1a1d23;
|
|
padding: 20px;
|
|
}
|
|
|
|
.content button {
|
|
background: #242830;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 6px;
|
|
padding: 6px 12px;
|
|
color: #e4e7eb;
|
|
}
|
|
|
|
.content button:hover {
|
|
background: #2e333e;
|
|
}
|
|
|
|
/* ===========================
|
|
* NOTEBOOK / TAB
|
|
* =========================== */
|
|
notebook tab {
|
|
background: #242830;
|
|
border: 1px solid #3a3f4b;
|
|
border-bottom: none;
|
|
padding: 6px 12px;
|
|
border-top-left-radius: 6px;
|
|
border-top-right-radius: 6px;
|
|
}
|
|
|
|
notebook stack {
|
|
border: 1px solid #3a3f4b;
|
|
background: #242830;
|
|
padding: 12px;
|
|
}
|
|
|
|
notebook > header tab:checked {
|
|
background-color: #2e333e;
|
|
border-bottom: 2px solid #4d8fe0;
|
|
}
|
|
|
|
notebook > header tab:hover:not(:checked) {
|
|
background-color: rgba(77,143,224,0.10);
|
|
}
|
|
|
|
/* ===========================
|
|
* SWITCH
|
|
* =========================== */
|
|
switch {
|
|
min-width: 36px;
|
|
min-height: 20px;
|
|
/* max-width: 36px; */
|
|
/* max-height: 20px; */
|
|
border-radius: 10px;
|
|
background: #4a5060;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
switch:checked {
|
|
background: #0d6efd;
|
|
}
|
|
|
|
switch slider {
|
|
background: #c9cdd4;
|
|
border-radius: 50%;
|
|
min-width: 16px;
|
|
min-height: 16px;
|
|
}
|
|
|
|
switch:checked slider {
|
|
background-color: #ffffff;
|
|
}
|
|
|
|
/* ===========================
|
|
* CHECKBOX
|
|
* =========================== */
|
|
checkbutton,
|
|
check {
|
|
color: #e4e7eb;
|
|
}
|
|
|
|
checkbutton check {
|
|
border: 1px solid #5a6070;
|
|
border-radius: 4px;
|
|
min-width: 16px;
|
|
min-height: 16px;
|
|
background: #2a2f3b;
|
|
}
|
|
|
|
checkbutton check:checked {
|
|
background: #0d6efd;
|
|
border-color: #0d6efd;
|
|
}
|
|
|
|
/* ===========================
|
|
* TEXTVIEW (Log)
|
|
* =========================== */
|
|
textview {
|
|
background-color: #0f1117;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 6px;
|
|
padding: 8px;
|
|
color: #c9cdd4;
|
|
}
|
|
|
|
/* ===========================
|
|
* Dialog file infetto
|
|
* =========================== */
|
|
.app-dialog {
|
|
background-color: #1e2229;
|
|
border-radius: 12px;
|
|
padding: 20px;
|
|
min-width: 500px;
|
|
/* max-width: 700px; */
|
|
/* box-shadow: 0 4px 16px rgba(0,0,0,0.6); */
|
|
}
|
|
|
|
.app-dialog label {
|
|
font-size: 14px;
|
|
color: #c9cdd4;
|
|
margin-bottom: 12px;
|
|
line-height: 1.4;
|
|
/* word-wrap: break-word; */
|
|
/* text-align: center; */
|
|
}
|
|
|
|
.app-dialog GtkBox {
|
|
spacing: 10px;
|
|
margin-top: 14px;
|
|
/* justify-content: center; */
|
|
}
|
|
|
|
.app-dialog button {
|
|
color: #ffffff !important;
|
|
border-radius: 6px;
|
|
padding: 4px 12px;
|
|
font-weight: 500;
|
|
border: none;
|
|
min-width: 100px;
|
|
/* max-width: 180px; */
|
|
}
|
|
|
|
.app-dialog .btn-success { background-color: #28a745; }
|
|
.app-dialog .btn-success:hover { background-color: #218838; }
|
|
|
|
.app-dialog .btn-primary { background-color: #007bff; }
|
|
.app-dialog .btn-primary:hover { background-color: #0069d9; }
|
|
|
|
.app-dialog .btn-danger { background-color: #dc3545; }
|
|
.app-dialog .btn-danger:hover { background-color: #c82333; }
|
|
|
|
/* ===========================
|
|
* BOTTONI BOOTSTRAP
|
|
* =========================== */
|
|
button.btn-success {
|
|
background-color: #28a745;
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
padding: 6px 12px;
|
|
font-weight: 500;
|
|
border: none;
|
|
}
|
|
button.btn-success:hover { background-color: #218838; }
|
|
button.btn-success:active { background-color: #1e7e34; }
|
|
|
|
button.btn-danger {
|
|
background-color: #dc3545;
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
padding: 6px 12px;
|
|
font-weight: 500;
|
|
border: none;
|
|
}
|
|
button.btn-danger:hover { background-color: #c82333; }
|
|
button.btn-danger:active { background-color: #bd2130; }
|
|
|
|
button.btn-primary {
|
|
background-color: #0d6efd;
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
padding: 6px 12px;
|
|
font-weight: 500;
|
|
border: none;
|
|
}
|
|
button.btn-primary:hover { background-color: #0b5ed7; }
|
|
button.btn-primary:active { background-color: #0a58ca; }
|
|
|
|
button.btn-warning {
|
|
background-color: #e0952a;
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
padding: 6px 12px;
|
|
font-weight: 500;
|
|
border: none;
|
|
}
|
|
button.btn-warning:hover { background-color: #c47d1a; }
|
|
button.btn-warning:active { background-color: #a86a0e; }
|
|
|
|
button:disabled {
|
|
background-color: #3a3f4b;
|
|
color: #6a707d;
|
|
}
|
|
|
|
/* ===========================
|
|
* ALERT WINDOW
|
|
* =========================== */
|
|
.alert-window {
|
|
background-color: #1e2229;
|
|
border-radius: 12px;
|
|
padding: 20px;
|
|
min-width: 480px;
|
|
/* box-shadow: 0 4px 16px rgba(0,0,0,0.6); */
|
|
}
|
|
|
|
.alert-title {
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
color: #f05060;
|
|
margin-bottom: 12px;
|
|
/* text-align: center; */
|
|
}
|
|
|
|
.alert-message {
|
|
font-size: 14px;
|
|
color: #b0b8c5;
|
|
margin-bottom: 8px;
|
|
line-height: 1.4;
|
|
/* text-align: center; */
|
|
}
|
|
|
|
.alert-countdown {
|
|
font-size: 13px;
|
|
color: #7a8190;
|
|
margin-top: 6px;
|
|
/* text-align: center; */
|
|
}
|
|
|
|
/* ===========================
|
|
* ALERT BUTTONS
|
|
* =========================== */
|
|
.alert-button {
|
|
border-radius: 6px;
|
|
padding: 6px 14px;
|
|
font-weight: 500;
|
|
border: none;
|
|
color: #ffffff;
|
|
min-width: 120px;
|
|
margin: 0 4px;
|
|
}
|
|
|
|
.alert-danger { background-color: #dc3545; }
|
|
.alert-danger:hover { background-color: #c82333; }
|
|
.alert-danger:active { background-color: #bd2130; }
|
|
|
|
.alert-success { background-color: #28a745; }
|
|
.alert-success:hover { background-color: #218838; }
|
|
.alert-success:active { background-color: #1e7e34; }
|
|
|
|
/* ===========================
|
|
* NAVIGATION BUTTONS
|
|
* =========================== */
|
|
.btn-next { background-color: #0d6efd; }
|
|
.btn-next:hover { background-color: #0b5ed7; }
|
|
.btn-next:active { background-color: #0a58ca; }
|
|
|
|
.btn-back { background-color: #495360; }
|
|
.btn-back:hover { background-color: #3d4650; }
|
|
.btn-back:active { background-color: #313840; }
|
|
|
|
.btn-finish { background-color: #28a745; }
|
|
.btn-finish:hover { background-color: #218838; }
|
|
.btn-finish:active { background-color: #1e7e34; }
|
|
|
|
.btn-cancel { background-color: #dc3545; }
|
|
.btn-cancel:hover { background-color: #c82333; }
|
|
.btn-cancel:active { background-color: #bd2130; }
|
|
|
|
/* Barra nav */
|
|
.nav {
|
|
/* display: flex; */
|
|
/* flex-direction: column; */
|
|
/* align-items: flex-end; */
|
|
/* justify-content: flex-end; */
|
|
/* gap: 12px; */
|
|
padding: 16px;
|
|
min-width: 140px;
|
|
}
|
|
|
|
.nav button {
|
|
border-radius: 6px;
|
|
padding: 8px 16px;
|
|
min-width: 120px;
|
|
font-weight: 500;
|
|
margin: 2px 0;
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* Sidebar buttons generic */
|
|
.sidebar-button {
|
|
color: #d0d9e8;
|
|
background: transparent;
|
|
border-radius: 8px;
|
|
padding: 8px 12px;
|
|
margin-bottom: 6px;
|
|
/* text-align: left; */
|
|
font-weight: 500;
|
|
}
|
|
|
|
.sidebar-button:hover { background-color: rgba(255, 255, 255, 0.12); }
|
|
.sidebar-button:checked { background-color: rgba(255, 255, 255, 0.22); font-weight: 600; }
|
|
.sidebar-button:active { background-color: rgba(255, 255, 255, 0.18); }
|
|
|
|
.sidebar-separator {
|
|
background-color: rgba(255, 255, 255, 0.12);
|
|
min-height: 1px;
|
|
margin-left: 8px;
|
|
margin-right: 8px;
|
|
border-radius: 1px;
|
|
}
|
|
|
|
/* ===========================
|
|
* ALERT WARNING
|
|
* =========================== */
|
|
.alert-warning {
|
|
background-color: #332b00;
|
|
color: #f0c040;
|
|
border: 1px solid #5a4800;
|
|
border-radius: 8px;
|
|
padding: 10px 12px;
|
|
margin: 6px 0;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.alert-warning label { color: inherit; }
|
|
|
|
/* ===========================
|
|
* ALERT INFO
|
|
* =========================== */
|
|
.alert-info {
|
|
background-color: #0a2833;
|
|
color: #6dcfe0;
|
|
border: 1px solid #1a4a56;
|
|
border-radius: 8px;
|
|
padding: 10px 12px;
|
|
margin: 6px 0;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.alert-info label { color: inherit; }
|
|
|
|
/* Mini toggle */
|
|
.mini-toggle {
|
|
min-width: 36px;
|
|
min-height: 18px;
|
|
padding: 0;
|
|
margin: 0 4px;
|
|
/* transform: scale(0.8); */
|
|
}
|
|
|
|
.mini-toggle slider {
|
|
min-width: 14px;
|
|
min-height: 14px;
|
|
}
|
|
|
|
/* Success label */
|
|
.success-label {
|
|
background-color: #0d2b12;
|
|
color: #4dbb6a;
|
|
border: 1px solid #1a5c28;
|
|
border-radius: 6px;
|
|
padding: 6px 10px;
|
|
margin-top: 8px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* ===========================
|
|
* PROGRESS BAR (Bootstrap green)
|
|
* =========================== */
|
|
progressbar.progress-success > trough {
|
|
min-height: 20px;
|
|
border-radius: 6px;
|
|
background-color: #1a1f28;
|
|
/* box-shadow: inset 0 1px 2px rgba(0,0,0,0.4); */
|
|
}
|
|
|
|
progressbar.progress-success > trough > progress {
|
|
border-radius: 6px;
|
|
background-color: #28a745;
|
|
background-image:
|
|
repeating-linear-gradient(
|
|
45deg,
|
|
rgba(255,255,255,0.10),
|
|
rgba(255,255,255,0.10) 10px,
|
|
transparent 10px,
|
|
transparent 20px
|
|
),
|
|
linear-gradient(90deg, #28a745, #34ce57);
|
|
background-size: 40px 40px;
|
|
/* animation: progress-stripes 1.5s linear infinite; */
|
|
/* transition: width 0.4s ease; */
|
|
}
|
|
|
|
progressbar.progress-success text {
|
|
color: white;
|
|
font-weight: 700;
|
|
}
|
|
|
|
progressbar.progress-success.small > trough { min-height: 14px; }
|
|
|
|
@keyframes progress-stripes {
|
|
from { background-position: 0 0; }
|
|
to { background-position: 40px 0; }
|
|
}
|
|
|
|
/* ===========================
|
|
* WHITELIST ENTRY
|
|
* =========================== */
|
|
.whitelist-entry {
|
|
border-radius: 10px;
|
|
padding: 8px 12px;
|
|
font-size: 14px;
|
|
color: #e4e7eb;
|
|
background: #1e2229;
|
|
border: 2px solid #1e3352;
|
|
/* transition: all 150ms ease-in-out; */
|
|
caret-color: #4d8fe0;
|
|
}
|
|
|
|
.whitelist-entry:focus {
|
|
border-color: #4d8fe0;
|
|
/* box-shadow: 0 0 8px rgba(77,143,224,0.3); */
|
|
background: #1a2030;
|
|
}
|
|
|
|
.whitelist-entry:hover { border-color: #1e3a56; }
|
|
|
|
.whitelist-view {
|
|
border-radius: 10px;
|
|
padding: 8px 12px;
|
|
font-size: 14px;
|
|
color: #e4e7eb;
|
|
background: #1e2229;
|
|
border: 2px solid #1e3352;
|
|
/* transition: all 150ms ease-in-out; */
|
|
caret-color: #4d8fe0;
|
|
}
|
|
|
|
/* ===========================
|
|
* SCROLLBAR
|
|
* =========================== */
|
|
scrollbar,
|
|
scrollbar slider {
|
|
border-radius: 8px;
|
|
min-width: 10px;
|
|
min-height: 10px;
|
|
}
|
|
|
|
scrollbar { background: rgba(58,110,165,0.08); }
|
|
|
|
scrollbar slider {
|
|
background: #1e3352;
|
|
/* transition: background 0.2s ease; */
|
|
}
|
|
|
|
scrollbar slider:hover { background: #1e3a56; }
|
|
scrollbar slider:active { background: #4d8fe0; }
|
|
|
|
scrollbar trough {
|
|
margin: 2px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
/* ===========================
|
|
* INPUT ENTRIES (ransomware)
|
|
* =========================== */
|
|
.home-entry {
|
|
border-radius: 10px;
|
|
padding: 8px 12px;
|
|
font-size: 14px;
|
|
color: #e4e7eb;
|
|
background: #1e2229;
|
|
border: 2px solid #1e3352;
|
|
/* transition: all 150ms ease-in-out; */
|
|
caret-color: #4d8fe0;
|
|
}
|
|
|
|
.home-entry:focus {
|
|
border-color: #4d8fe0;
|
|
/* box-shadow: 0 0 8px rgba(77,143,224,0.3); */
|
|
background: #1a2030;
|
|
}
|
|
|
|
.home-entry:hover { border-color: #1e3a56; }
|
|
|
|
.company-entry {
|
|
border-radius: 10px;
|
|
padding: 8px 12px;
|
|
font-size: 14px;
|
|
color: #e4e7eb;
|
|
background: #1e2229;
|
|
border: 2px solid #3a5e20;
|
|
/* transition: all 150ms ease-in-out; */
|
|
caret-color: #76b041;
|
|
}
|
|
|
|
.company-entry:focus {
|
|
border-color: #76b041;
|
|
/* box-shadow: 0 0 8px rgba(118,176,65,0.3); */
|
|
background: #182015;
|
|
}
|
|
|
|
.company-entry:hover { border-color: #4a7a28; }
|
|
|
|
.danger-entry {
|
|
border-radius: 10px;
|
|
padding: 8px 12px;
|
|
font-size: 14px;
|
|
color: #e4e7eb;
|
|
background: #1e2229;
|
|
border: 2px solid #7a1515;
|
|
/* transition: all 150ms ease-in-out; */
|
|
caret-color: #e53935;
|
|
}
|
|
|
|
.danger-entry:focus {
|
|
border-color: #e53935;
|
|
/* box-shadow: 0 0 8px rgba(229,57,53,0.3); */
|
|
background: #200f0f;
|
|
}
|
|
|
|
.danger-entry:hover { border-color: #a01e1e; }
|
|
|
|
/* ===========================
|
|
* TREEVIEW
|
|
* =========================== */
|
|
treeview {
|
|
background-color: #1e2229;
|
|
}
|
|
|
|
treeview row {
|
|
background-color: #1e2229;
|
|
}
|
|
|
|
treeview row:nth-child(even) {
|
|
background-color: #242830;
|
|
}
|
|
|
|
treeview.view:selected {
|
|
background-color: #1a3255;
|
|
}
|
|
|
|
/* ===========================
|
|
* SHA DIALOG
|
|
* =========================== */
|
|
.sha-dialog entry {
|
|
border-radius: 8px;
|
|
padding: 6px 10px;
|
|
font-size: 14px;
|
|
color: #e4e7eb;
|
|
background: #1e2229;
|
|
border: 2px solid #1e3352;
|
|
caret-color: #4d8fe0;
|
|
/* transition: all 150ms ease-in-out; */
|
|
}
|
|
|
|
.sha-dialog entry:focus {
|
|
border-color: #4d8fe0;
|
|
/* box-shadow: 0 0 6px rgba(77,143,224,0.3); */
|
|
background: #1a2030;
|
|
}
|
|
|
|
.sha-dialog entry:hover { border-color: #1e3a56; }
|
|
|
|
.sha-dialog button {
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
padding: 6px 12px;
|
|
}
|
|
|
|
.sha-dialog button.suggested-action {
|
|
background-color: #0d6efd;
|
|
color: white;
|
|
}
|
|
|
|
.sha-dialog button.suggested-action:hover { background-color: #0b5ed7; }
|
|
|
|
/* ===========================
|
|
* SPINBUTTON
|
|
* =========================== */
|
|
.numeric-entry {
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 6px;
|
|
background: #1e2229;
|
|
color: #e4e7eb;
|
|
font-size: 13px;
|
|
min-height: 26px;
|
|
min-width: 80px;
|
|
/* max-width: 100px; */
|
|
padding: 4px 6px;
|
|
/* text-align: center; */
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.numeric-entry > button,
|
|
.numeric-entry > button.up,
|
|
.numeric-entry > button.down,
|
|
spinbutton.numeric-entry > button,
|
|
spinbutton.numeric-entry > button.up,
|
|
spinbutton.numeric-entry > button.down {
|
|
opacity: 0;
|
|
margin: 0;
|
|
padding: 0;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
border: none;
|
|
background: transparent;
|
|
}
|
|
|
|
.numeric-entry > separator,
|
|
spinbutton.numeric-entry > separator {
|
|
opacity: 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
.numeric-entry:focus-within {
|
|
border-color: #4d8fe0;
|
|
/* box-shadow: 0 0 4px rgba(77,143,224,0.3); */
|
|
}
|
|
|
|
/* ===========================
|
|
* COMBOBOX GENERALI
|
|
* =========================== */
|
|
.card combobox,
|
|
combobox {
|
|
background-color: #1e2229;
|
|
color: #e4e7eb;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 6px;
|
|
padding: 6px 10px;
|
|
min-height: 28px;
|
|
min-width: 180px;
|
|
}
|
|
|
|
.card combobox:hover,
|
|
combobox:hover {
|
|
background-color: #2a2f3b;
|
|
}
|
|
|
|
.card combobox arrow,
|
|
combobox arrow {
|
|
-gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
|
|
color: #e4e7eb;
|
|
}
|
|
|
|
.card combobox popover,
|
|
.card combobox popover.menu,
|
|
combobox popover,
|
|
combobox popover.menu {
|
|
background: #2a2f3b;
|
|
color: #e4e7eb;
|
|
border-radius: 8px;
|
|
border: 1px solid #3a3f4b;
|
|
/* box-shadow: 0 4px 12px rgba(0,0,0,0.5); */
|
|
}
|
|
|
|
.card combobox popover modelbutton,
|
|
combobox popover modelbutton {
|
|
padding: 4px 10px;
|
|
margin: 2px 4px;
|
|
border-radius: 6px;
|
|
background: transparent;
|
|
color: #e4e7eb;
|
|
}
|
|
|
|
.card combobox popover modelbutton:hover,
|
|
combobox popover modelbutton:hover {
|
|
background: rgba(77,143,224,0.18);
|
|
}
|
|
|
|
.card combobox popover modelbutton:checked,
|
|
.card combobox popover modelbutton:active,
|
|
combobox popover modelbutton:checked,
|
|
combobox popover modelbutton:active {
|
|
background: #1e3352;
|
|
color: #ffffff;
|
|
}
|
|
|
|
.card combobox popover modelbutton:checked *,
|
|
combobox popover modelbutton:checked * {
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* Popover generico */
|
|
popover.background,
|
|
popover.menu,
|
|
combobox popover.background,
|
|
combobox popover.menu {
|
|
background-color: #2a2f3b;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 8px;
|
|
/* box-shadow: 0 4px 12px rgba(0,0,0,0.5); */
|
|
}
|
|
|
|
popover.background modelbutton,
|
|
popover.menu modelbutton,
|
|
combobox popover modelbutton {
|
|
color: #e4e7eb;
|
|
background: transparent;
|
|
padding: 6px 10px;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
popover.background modelbutton:hover,
|
|
popover.menu modelbutton:hover,
|
|
combobox popover modelbutton:hover {
|
|
background-color: rgba(77,143,224,0.18);
|
|
}
|
|
|
|
popover.background modelbutton:checked,
|
|
popover.menu modelbutton:checked,
|
|
combobox popover modelbutton:checked {
|
|
background-color: #1e3352;
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* Entry generica */
|
|
.entry, entry, GtkEntry {
|
|
background-color: #1e2229;
|
|
color: #e4e7eb;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 6px;
|
|
padding: 4px 6px;
|
|
}
|
|
|
|
.entry:focus {
|
|
border-color: #4d8fe0;
|
|
/* box-shadow: 0 0 0 2px rgba(77,143,224,0.25); */
|
|
}
|
|
|
|
/* ===========================
|
|
* PROGRESS BAR BastionGuard
|
|
* =========================== */
|
|
.progress-BastionGuard.progressbar {
|
|
min-height: 18px;
|
|
border-radius: 10px;
|
|
font-weight: 600;
|
|
/* letter-spacing: .2px; */
|
|
}
|
|
|
|
.progress-BastionGuard > trough {
|
|
background: rgba(255, 255, 255, 0.08);
|
|
border-radius: 10px;
|
|
/* box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); */
|
|
}
|
|
|
|
.progress-BastionGuard > trough > progress {
|
|
background: linear-gradient(90deg, #16a085, #0e8f73);
|
|
border-radius: 10px;
|
|
/* box-shadow: */
|
|
inset 0 -1px 0 rgba(0,0,0,.18),
|
|
0 1px 2px rgba(0,0,0,.25);
|
|
/* transition: width 160ms ease; */
|
|
}
|
|
|
|
.progress-BastionGuard text {
|
|
color: #e9f7ef;
|
|
text-shadow: 0 1px 0 rgba(0,0,0,.35);
|
|
font-size: 0.92rem;
|
|
}
|
|
|
|
.progress-BastionGuard:disabled { opacity: .5; }
|
|
|
|
.progress-BastionGuard {
|
|
min-height: 14px;
|
|
border-radius: 10px;
|
|
background-color: rgba(255, 255, 255, 0.07);
|
|
}
|
|
|
|
.progress-BastionGuard trough {
|
|
border-radius: 10px;
|
|
background-color: rgba(255, 255, 255, 0.07);
|
|
}
|
|
|
|
.progress-BastionGuard progress {
|
|
border-radius: 10px;
|
|
background-image: linear-gradient(to right, #4caf50, #8bc34a);
|
|
}
|
|
|
|
/* ===========================
|
|
* SECURE WINDOW (Banche)
|
|
* =========================== */
|
|
.secure-window {
|
|
background-color: #1a1d23;
|
|
border-radius: 12px;
|
|
/* box-shadow: 0 4px 12px rgba(0,0,0,0.5); */
|
|
/* overflow: hidden; */
|
|
}
|
|
|
|
.secure-headerbar {
|
|
background: linear-gradient(90deg, #1e3352, #1e3352);
|
|
color: #ffffff;
|
|
padding: 8px 14px;
|
|
/* display: flex; */
|
|
/* align-items: center; */
|
|
/* justify-content: space-between; */
|
|
font-weight: 600;
|
|
/* letter-spacing: 0.2px; */
|
|
border-top-left-radius: 12px;
|
|
border-top-right-radius: 12px;
|
|
/* box-shadow: 0 2px 6px rgba(0,0,0,0.4); */
|
|
}
|
|
|
|
.secure-headerbar .icon { font-size: 16px; margin-right: 6px; }
|
|
|
|
.secure-headerbar .title,
|
|
.secure-headerbar-title {
|
|
/* display: flex; */
|
|
/* align-items: center; */
|
|
/* gap: 6px; */
|
|
color: #ffffff;
|
|
}
|
|
|
|
.secure-headerbar .url {
|
|
font-size: 13px;
|
|
opacity: 0.85;
|
|
margin-left: 6px;
|
|
font-weight: 400;
|
|
}
|
|
|
|
.secure-headerbar .close-btn {
|
|
background: rgba(255,255,255,0.12);
|
|
border: none;
|
|
color: white;
|
|
border-radius: 4px;
|
|
font-size: 13px;
|
|
padding: 4px 8px;
|
|
/* transition: background 0.2s; */
|
|
}
|
|
|
|
.secure-headerbar .close-btn:hover { background: rgba(255,255,255,0.25); }
|
|
|
|
.secure-content {
|
|
padding: 20px;
|
|
background-color: #1e2229;
|
|
color: #e4e7eb;
|
|
}
|
|
|
|
.secure-content entry {
|
|
border-radius: 6px;
|
|
border: 1px solid #3a3f4b;
|
|
padding: 4px 8px;
|
|
background: #242830;
|
|
color: #e4e7eb;
|
|
}
|
|
|
|
.secure-content entry:focus {
|
|
border-color: #27ae60;
|
|
/* box-shadow: 0 0 4px rgba(46,204,113,0.4); */
|
|
}
|
|
|
|
.secure-content button {
|
|
background-color: #1f8a50;
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
padding: 6px 12px;
|
|
font-weight: 500;
|
|
border: none;
|
|
/* transition: background 0.2s; */
|
|
}
|
|
|
|
.secure-content button:hover { background-color: #166a3d; }
|
|
|
|
/* ===========================
|
|
* HIGHLIGHT
|
|
* =========================== */
|
|
.highlight {
|
|
color: #4d8fe0;
|
|
font-weight: bold;
|
|
}
|
|
|
|
/* ===========================
|
|
* ACCORDION SORGENTI
|
|
* =========================== */
|
|
.source-header {
|
|
background-color: #242830;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 6px;
|
|
padding: 6px 10px;
|
|
margin: 0;
|
|
border-bottom: none;
|
|
/* cursor: pointer; */
|
|
/* transition: all 0.15s ease-in-out; */
|
|
/* display: flex; */
|
|
/* align-items: center; */
|
|
/* justify-content: space-between; */
|
|
}
|
|
|
|
.source-header:hover { background-color: #2a2f3b; }
|
|
|
|
.source-header:last-child { border-bottom: 1px solid #3a3f4b; }
|
|
|
|
.source-header label {
|
|
color: #d0d9e8;
|
|
font-weight: 600;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.expand-icon {
|
|
color: #4d8fe0;
|
|
font-weight: bold;
|
|
font-size: 13px;
|
|
margin-left: 4px;
|
|
/* transition: transform 0.25s ease-in-out, color 0.2s ease; */
|
|
}
|
|
|
|
.source-header.open {
|
|
background-color: #1a2a40;
|
|
border-color: #1e3352;
|
|
border-bottom: 1px solid #1e3352;
|
|
border-bottom-left-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
/* box-shadow: 0 2px 5px rgba(13,110,253,0.15); */
|
|
}
|
|
|
|
.source-header.open .expand-icon {
|
|
/* transform: rotate(180deg); */
|
|
color: #7ab0f0;
|
|
}
|
|
|
|
.revealer-content {
|
|
background-color: #1e2229;
|
|
border: 1px solid #1e3352;
|
|
border-top: none;
|
|
border-bottom-left-radius: 6px;
|
|
border-bottom-right-radius: 6px;
|
|
padding: 10px 12px;
|
|
margin: 0 0 6px 0;
|
|
}
|
|
|
|
label.highlight { color: #4d8fe0; font-weight: 600; }
|
|
label.suggested-action { color: #7a8190; font-weight: 600; }
|
|
|
|
/* ===========================
|
|
* PRIVACY POPUP
|
|
* =========================== */
|
|
.privacy-popup {
|
|
background-color: #1e2229;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 12px;
|
|
/* box-shadow: 0 4px 18px rgba(0,0,0,0.6); */
|
|
color: #e4e7eb;
|
|
padding: 16px;
|
|
/* animation: popup-fade-in 0.25s ease-out; */
|
|
}
|
|
|
|
.privacy-popup-title {
|
|
font-weight: 700;
|
|
font-size: 18px;
|
|
color: #e4e7eb;
|
|
margin-bottom: 10px;
|
|
/* text-align: center; */
|
|
}
|
|
|
|
.privacy-popup label {
|
|
color: #c9cdd4;
|
|
font-size: 14px;
|
|
/* text-align: center; */
|
|
}
|
|
|
|
.privacy-popup-pending {
|
|
font-size: 13px;
|
|
color: #7a8190;
|
|
margin-top: 8px;
|
|
/* text-align: center; */
|
|
font-style: italic;
|
|
}
|
|
|
|
.privacy-allow-btn,
|
|
.privacy-deny-btn {
|
|
border-radius: 6px;
|
|
padding: 6px 14px;
|
|
font-weight: 500;
|
|
min-width: 120px;
|
|
border: none;
|
|
color: #ffffff;
|
|
/* transition: transform 0.15s ease, filter 0.15s ease; */
|
|
}
|
|
|
|
.privacy-allow-btn:hover,
|
|
.privacy-deny-btn:hover {
|
|
/* transform: scale(1.02); */
|
|
filter: brightness(1.08);
|
|
}
|
|
|
|
.privacy-allow-btn { background-color: #1f8a50; }
|
|
.privacy-allow-btn:hover { background-color: #166a3d; }
|
|
|
|
.privacy-deny-btn { background-color: #8b1a1a; }
|
|
.privacy-deny-btn:hover { background-color: #a81e1e; }
|
|
|
|
@keyframes popup-fade-in {
|
|
from { opacity: 0; transform: translateY(-8px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
/* ===========================
|
|
* BASTIONGARD DIALOG
|
|
* =========================== */
|
|
.BastionGuard-dialog {
|
|
background-color: #1e2229;
|
|
border-radius: 12px;
|
|
padding: 16px;
|
|
border: 1px solid #3a3f4b;
|
|
}
|
|
|
|
.BastionGuard-popup {
|
|
border: 1px solid #3a3f4b;
|
|
/* box-shadow: 0 4px 16px rgba(0,0,0,0.5); */
|
|
background-color: #242830;
|
|
border-radius: 12px;
|
|
}
|
|
|
|
.BastionGuard-dialog-title {
|
|
font-size: 18px;
|
|
font-weight: 700;
|
|
color: #e4e7eb;
|
|
/* text-align: center; */
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.BastionGuard-scroller {
|
|
border-radius: 8px;
|
|
border: 1px solid #3a3f4b;
|
|
background-color: #242830;
|
|
}
|
|
|
|
.BastionGuard-textview {
|
|
font-family: monospace;
|
|
font-size: 12px;
|
|
background-color: #0f1117;
|
|
padding: 10px;
|
|
border-radius: 8px;
|
|
color: #c9cdd4;
|
|
}
|
|
|
|
.BastionGuard-close-btn {
|
|
background-color: #0d6efd;
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
padding: 6px 14px;
|
|
border: none;
|
|
font-weight: 500;
|
|
min-width: 120px;
|
|
}
|
|
|
|
.BastionGuard-close-btn:hover { background-color: #0b5ed7; }
|
|
.BastionGuard-close-btn:active { background-color: #0a58ca; }
|
|
|
|
.BastionGuard-title {
|
|
padding: 8px 12px;
|
|
font-weight: 600;
|
|
font-size: 15px;
|
|
color: #c9cdd4;
|
|
}
|
|
|
|
/* ===========================
|
|
* BTN GREY
|
|
* =========================== */
|
|
.btn-grey {
|
|
background-color: #3a3f4b;
|
|
color: #8a909d;
|
|
padding: 8px 22px;
|
|
font-weight: 600;
|
|
border: none;
|
|
/* box-shadow: inset 0 0 0 1px #2a2f3b; */
|
|
}
|
|
|
|
.btn-grey:hover,
|
|
.btn-grey:active {
|
|
background-color: #3a3f4b !important;
|
|
color: #8a909d !important;
|
|
/* box-shadow: inset 0 0 0 1px #2a2f3b; */
|
|
/* cursor: default; */
|
|
}
|
|
|
|
/* ===========================
|
|
* SCAN FILE LIST
|
|
* =========================== */
|
|
.scan-file-list {
|
|
background-color: #242830;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 10px;
|
|
padding: 6px 0;
|
|
/* box-shadow: 0 1px 3px rgba(0,0,0,0.3); */
|
|
}
|
|
|
|
.scan-file-list row {
|
|
padding: 6px 12px;
|
|
background: transparent;
|
|
border-radius: 6px;
|
|
margin: 2px 6px;
|
|
}
|
|
|
|
.scan-file-list row:hover {
|
|
background-color: rgba(77,143,224,0.15);
|
|
/* cursor: pointer; */
|
|
}
|
|
|
|
.scan-file-list row.current {
|
|
background-color: #1a2a40;
|
|
border-left: 3px solid #1e3352;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.scan-file-list row label {
|
|
color: #c9cdd4;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.scan-file-list scrollbar slider { background: #1e3352; border-radius: 6px; }
|
|
.scan-file-list scrollbar slider:hover { background: #1e3a56; }
|
|
.scan-file-list scrollbar { background: rgba(58,110,165,0.08); }
|
|
|
|
.scan-progressbar {
|
|
min-height: 18px;
|
|
font-weight: bold;
|
|
color: white;
|
|
padding: 0;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.scan-progressbar trough {
|
|
background-color: #1a1f28;
|
|
border-radius: 8px;
|
|
min-height: 18px;
|
|
}
|
|
|
|
.scan-progressbar progress {
|
|
background-color: #27ae60;
|
|
border-radius: 8px;
|
|
min-height: 18px;
|
|
}
|
|
|
|
/* ===========================
|
|
* USB CARD
|
|
* =========================== */
|
|
.usb-card {
|
|
background: #242830;
|
|
border: 1px solid #3a3f4b;
|
|
border-radius: 10px;
|
|
/* box-shadow: 0 1px 3px rgba(0,0,0,0.4); */
|
|
padding: 10px 12px;
|
|
margin: 6px;
|
|
min-width: 160px;
|
|
/* max-width: 180px; */
|
|
min-height: 120px;
|
|
/* display: flex; */
|
|
/* flex-direction: column; */
|
|
/* justify-content: space-between; */
|
|
/* transition: all 0.15s ease-in-out; */
|
|
}
|
|
|
|
.usb-card:hover {
|
|
background-color: #2a2f3b;
|
|
/* box-shadow: 0 2px 6px rgba(0,0,0,0.5); */
|
|
/* transform: translateY(-2px); */
|
|
}
|
|
|
|
.usb-card-title {
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: #d0d9e8;
|
|
margin-bottom: 4px;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.usb-card-info {
|
|
font-size: 12px;
|
|
color: #8a909d;
|
|
line-height: 1.2;
|
|
margin-bottom: 6px;
|
|
/* word-wrap: break-word; */
|
|
}
|
|
|
|
.usb-card-buttons {
|
|
/* display: flex; */
|
|
/* flex-direction: column; */
|
|
/* gap: 6px; */
|
|
margin-top: auto;
|
|
}
|
|
|
|
.usb-card button.mount-btn {
|
|
background-color: #0d6efd;
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
padding: 4px 10px;
|
|
border: none;
|
|
font-size: 13px;
|
|
font-weight: 500;
|
|
}
|
|
.usb-card button.mount-btn:hover { background-color: #0b5ed7; }
|
|
|
|
.usb-card button.scan-btn {
|
|
background-color: #198754;
|
|
color: #ffffff;
|
|
border-radius: 6px;
|
|
padding: 4px 10px;
|
|
border: none;
|
|
font-size: 13px;
|
|
font-weight: 500;
|
|
}
|
|
.usb-card button.scan-btn:hover { background-color: #157347; }
|
|
|
|
.usb-card.disabled {
|
|
opacity: 0.45;
|
|
/* pointer-events: none; */
|
|
}
|
|
|
|
/* ===========================
|
|
* SERVICE ROWS
|
|
* =========================== */
|
|
.service-name {
|
|
font-weight: 600;
|
|
font-size: 1.05em;
|
|
color: #d0d9e8;
|
|
}
|
|
|
|
.service-desc {
|
|
font-size: 0.875em;
|
|
color: #8a909d;
|
|
margin-top: 2px;
|
|
}
|
|
|
|
.service-row:hover {
|
|
background-color: rgba(53, 132, 228, 0.10);
|
|
border-radius: 8px;
|
|
/* transition: background-color 180ms ease-out; */
|
|
}
|
|
|
|
.service-row:active { background-color: rgba(53, 132, 228, 0.20); }
|
|
|
|
/* ===========================
|
|
* UPDATE BADGE
|
|
* =========================== */
|
|
.update-badge {
|
|
padding: 6px 10px;
|
|
border-radius: 999px;
|
|
font-weight: 600;
|
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
font-size: 13px;
|
|
}
|
|
|
|
.update-checking {
|
|
background: rgba(255, 255, 255, 0.06);
|
|
color: #9aa0ad;
|
|
}
|
|
|
|
.update-ok {
|
|
background: rgba(46, 204, 113, 0.15);
|
|
color: #4dbb6a;
|
|
}
|
|
|
|
.update-warn {
|
|
background: rgba(231, 76, 60, 0.18);
|
|
color: #f07070;
|
|
}
|
|
|
|
.update-unk {
|
|
background: rgba(243, 156, 18, 0.18);
|
|
color: #e0a840;
|
|
}
|
|
|
|
/* ===========================
|
|
* SUBTITLE / MISC LABELS
|
|
* =========================== */
|
|
.subtitle {
|
|
font-size: 14pt;
|
|
font-weight: bold;
|
|
color: #d0d9e8;
|
|
}
|
|
|
|
.small-label {
|
|
font-size: 10pt;
|
|
color: #9aa0ad;
|
|
}
|
|
|
|
.xsmall-label {
|
|
font-size: 9pt;
|
|
color: #7a8190;
|
|
}
|
|
|
|
.btn-small {
|
|
padding: 4px 8px;
|
|
font-size: 10pt;
|
|
}
|
|
|
|
.security-banner {
|
|
border-radius: 6px;
|
|
padding: 10px 14px;
|
|
margin-bottom: 6px;
|
|
}
|
|
.security-banner label {
|
|
|
|
color: #c8dff5;
|
|
font-size: 0.82em;
|
|
}
|
|
|
|
/* Verde = bloccato (sicuro), rosso = sbloccato (vault aperto = attenzione) */
|
|
.alert-success {
|
|
background-color: #26a269;
|
|
border-radius: 6px;
|
|
padding: 4px 14px;
|
|
}
|
|
.alert-success label {
|
|
color: white;
|
|
font-weight: bold;
|
|
}
|
|
.alert-danger {
|
|
background-color: #c01c28;
|
|
border-radius: 6px;
|
|
padding: 4px 14px;
|
|
}
|
|
.alert-danger label {
|
|
color: white;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.theme-btn {
|
|
font-size: 1.2em;
|
|
padding: 2px 6px;
|
|
border-radius: 6px;
|
|
opacity: 0.5;
|
|
}
|
|
.theme-btn-active {
|
|
opacity: 1.0;
|
|
background-color: alpha(currentColor, 0.15);
|
|
}
|
|
|
|
.security-banner.alert-danger {
|
|
background-color: #c64600;
|
|
color: #ffffff;
|
|
border-left: 4px solid #a51d2d;
|
|
border-radius: 6px;
|
|
padding: 8px 12px;
|
|
}
|
|
|
|
.security-banner.alert-danger label {
|
|
color: #ffffff;
|
|
}
|
|
|
|
.security-banner.alert-info {
|
|
background: linear-gradient(to right, #1c3a5c, #1e4d78);
|
|
color: #ffffff;
|
|
border-left: 4px solid #1c3a5c;
|
|
border-radius: 6px;
|
|
padding: 8px 12px;
|
|
}
|
|
|
|
.security-banner.alert-info label {
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* ── Pulsante intestazione gruppo (es. "Protezione", "Sicurezza") ─────────── */
|
|
.sidebar-group-button {
|
|
color: #ffffff;
|
|
background-color: transparent;
|
|
border-radius: 8px;
|
|
padding: 6px 6px;
|
|
font-weight: 700;
|
|
font-size: 13px;
|
|
letter-spacing: 0.03em;
|
|
}
|
|
.sidebar-group-button:hover {
|
|
background-color: rgba(255,255,255,0.12);
|
|
}
|
|
.sidebar-group-button:active {
|
|
background-color: rgba(255,255,255,0.20);
|
|
}
|
|
|
|
/* ── Freccia ▸ / ▾ ──────────────────────────────────────────────────────── */
|
|
.sidebar-arrow {
|
|
color: rgba(255,255,255,0.60);
|
|
font-size: 11px;
|
|
margin-right: 4px;
|
|
}
|
|
|
|
.sidebar .sidebar-button label,
|
|
.sidebar .sidebar-group-button label,
|
|
.sidebar-group-label {
|
|
color: #ffffff;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.sidebar .sidebar-group-button,
|
|
.sidebar-group-button {
|
|
color: #ffffff;
|
|
background-color: transparent;
|
|
border-radius: 8px;
|
|
padding: 4px 6px;
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.sidebar-arrow {
|
|
color: rgba(255,255,255,0.75);
|
|
font-size: 11px;
|
|
margin-right: 4px;
|
|
}
|
|
|
|
.alert-danger { background-color: #dc3545; }
|
|
.alert-danger:hover { background-color: #c82333; }
|
|
.alert-danger:active { background-color: #bd2130; }
|
|
|
|
.alert-success { background-color: #28a745; }
|
|
.alert-success:hover { background-color: #218838; }
|
|
.alert-success:active { background-color: #1e7e34; }
|
|
|
|
|
|
|
|
/* ===========================
|
|
* ALIGNMENT FIX OVERRIDE
|
|
* =========================== */
|
|
.sidebar {
|
|
background-color: #1e3352;
|
|
border-bottom-left-radius: 12px;
|
|
padding: 10px;
|
|
}
|
|
|
|
.sidebar-group-label {
|
|
color: #ffffff;
|
|
font-weight: 600;
|
|
margin: 8px 6px;
|
|
}
|
|
|
|
.sidebar .sidebar-button,
|
|
.sidebar-button {
|
|
color: #d0d9e8;
|
|
background-color: transparent;
|
|
border-radius: 10px;
|
|
padding: 4px 6px;
|
|
min-height: 36px;
|
|
}
|
|
|
|
.sidebar .sidebar-button > box,
|
|
.sidebar-button > box {
|
|
margin-left: 2px;
|
|
margin-right: 2px;
|
|
}
|
|
|
|
.sidebar .sidebar-button image,
|
|
.sidebar-button image {
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.sidebar .sidebar-button label,
|
|
.sidebar .sidebar-group-button label,
|
|
.sidebar-button label {
|
|
color: #ffffff;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.sidebar .sidebar-button:hover,
|
|
.sidebar-button:hover {
|
|
background-color: rgba(255, 255, 255, 0.12);
|
|
}
|
|
|
|
.sidebar .sidebar-button:pressed,
|
|
.sidebar-button:active {
|
|
background-color: rgba(255, 255, 255, 0.20);
|
|
}
|
|
|
|
.sidebar .sidebar-button.active-sidebar-button,
|
|
.sidebar-button:checked {
|
|
background-color: rgba(255, 255, 255, 0.20);
|
|
}
|
|
|
|
.sidebar-theme-row,
|
|
.sidebar .sidebar-langrow,
|
|
.sidebar .sidebar-langcol,
|
|
.sidebar-lang-combo,
|
|
.sidebar .sidebar-lang-combo,
|
|
.sidebar combobox.sidebar-lang-combo {
|
|
margin-left: 6px;
|
|
margin-right: 6px;
|
|
}
|
|
|
|
.sidebar-theme-row {
|
|
margin-top: 4px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.sidebar .sidebar-langrow {
|
|
margin-top: 6px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.sidebar .sidebar-langcol,
|
|
.sidebar-lang-combo,
|
|
.sidebar .sidebar-lang-combo,
|
|
.sidebar combobox.sidebar-lang-combo {
|
|
margin-top: 4px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.sidebar-separator {
|
|
background-color: rgba(255, 255, 255, 0.12);
|
|
min-height: 1px;
|
|
margin: 10px 6px;
|
|
border-radius: 1px;
|
|
}
|
|
|
|
.nav {
|
|
padding: 16px;
|
|
min-width: 140px;
|
|
}
|
|
|
|
.nav button {
|
|
border-radius: 6px;
|
|
padding: 8px 16px;
|
|
min-width: 120px;
|
|
margin: 2px 0;
|
|
}
|
|
|
|
|
|
/* Keep text selections readable in both themes. */
|
|
label selection,
|
|
textview text selection {
|
|
background-color: #0d6efd;
|
|
color: #ffffff;
|
|
}
|
|
|