287 lines
5.6 KiB
CSS
287 lines
5.6 KiB
CSS
:root {
|
|
/* Cool Palette */
|
|
--background-color: rgba(18, 18, 18, 1);
|
|
--border-color: rgba(255, 127, 0, 0.25);
|
|
|
|
/* Neutral Colors */
|
|
--white-color: rgba(255, 255, 255);
|
|
--gray-color: rgba(102, 102, 102);
|
|
--dark-gray-color: rgba(51, 51, 51);
|
|
--light-gray-color: rgba(187, 187, 187);
|
|
|
|
/* Sidebar Button Colors */
|
|
--btn-sidebar-light-gray: rgba(68, 68, 68);
|
|
--btn-sidebar-blue: rgba(30, 144, 255, 1);
|
|
--btn-hover: rgba(0, 86, 179, 1);
|
|
--btn-hover-scale: 1.05;
|
|
|
|
/* Button Colors */
|
|
--btn-success: rgba(40, 167, 69);
|
|
--btn-success-disabled: rgba(108, 117, 125);
|
|
--btn-danger: rgba(220, 53, 69);
|
|
|
|
/* Monkey + status panel settings */
|
|
--monkey-size: 160px; /* size of SAMY */
|
|
--monkey-bottom: 135px; /* how high from bottom of sidebar */
|
|
--status-gap: 20px; /* space between status box and monkey */
|
|
--status-height: 140px; /* max height of status box */
|
|
}
|
|
|
|
/* Make sizing easier to reason about */
|
|
*, *::before, *::after {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
font-family: Arial, sans-serif;
|
|
margin: 0;
|
|
padding: 0;
|
|
background-color: var(--background-color);
|
|
color: var(--white-color);
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.logo-container {
|
|
display: grid;
|
|
grid-template-columns: auto 1fr;
|
|
align-items: center;
|
|
padding: 20px;
|
|
}
|
|
|
|
.logo-container img {
|
|
max-width: 300px;
|
|
height: auto;
|
|
}
|
|
|
|
.subtitle {
|
|
font-size: 1.2rem;
|
|
color: var(--gray-color);
|
|
margin-top: 0.5em;
|
|
}
|
|
|
|
.container {
|
|
display: flex;
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Sidebar */
|
|
.sidebar {
|
|
width: 200px;
|
|
background: var(--background-color);
|
|
padding: 10px;
|
|
position: relative;
|
|
padding-bottom: calc(var(--monkey-bottom) + var(--monkey-size) + var(--status-gap) + 10px);
|
|
}
|
|
|
|
/* Status panel above monkey */
|
|
#status-box {
|
|
position: absolute;
|
|
left: 10px;
|
|
bottom: calc(var(--monkey-bottom) + var(--monkey-size) + var(--status-gap));
|
|
width: calc(100% - 20px);
|
|
max-height: var(--status-height);
|
|
overflow-y: auto;
|
|
padding: 8px 10px;
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 8px;
|
|
background: rgba(255, 255, 255, 0.06);
|
|
font-family: "Segoe UI", "Segoe UI Emoji", "Segoe UI Symbol", system-ui, sans-serif;
|
|
font-size: 12px;
|
|
line-height: 1.35;
|
|
z-index: 1;
|
|
}
|
|
|
|
/* SAMY bottom-left */
|
|
.sidebar::after {
|
|
content: "";
|
|
position: absolute;
|
|
left: 10px;
|
|
bottom: var(--monkey-bottom);
|
|
width: var(--monkey-size);
|
|
height: var(--monkey-size);
|
|
background-image: url("https://git.svstools.com/syelle/Logo/raw/branch/main/SAMY.png");
|
|
background-repeat: no-repeat;
|
|
background-size: contain;
|
|
opacity: 0.95;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.sidebar button {
|
|
display: block;
|
|
width: 100%;
|
|
margin-bottom: 10px;
|
|
padding: 10px;
|
|
color: var(--white-color);
|
|
background: var(--btn-sidebar-light-gray);
|
|
border: none;
|
|
border-radius: 5px;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
transition: background-color 0.3s, transform 0.2s;
|
|
}
|
|
|
|
.sidebar button.active {
|
|
background: var(--btn-sidebar-blue);
|
|
}
|
|
|
|
.sidebar button:hover {
|
|
background: var(--btn-hover);
|
|
transform: scale(var(--btn-hover-scale));
|
|
}
|
|
|
|
.content {
|
|
position: relative;
|
|
flex: 1;
|
|
padding: 20px;
|
|
padding-bottom: 200px;
|
|
overflow-y: auto;
|
|
max-height: calc(100vh - 50px);
|
|
}
|
|
|
|
/* Floating buttons (Exit / Run) */
|
|
.fixed-buttons {
|
|
position: fixed;
|
|
bottom: 20px;
|
|
right: 20px;
|
|
display: flex;
|
|
gap: 10px;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.exit-button,
|
|
.run-button {
|
|
border: none;
|
|
border-radius: 5px;
|
|
padding: 10px 20px;
|
|
cursor: pointer;
|
|
color: var(--white-color);
|
|
}
|
|
|
|
.exit-button {
|
|
background-color: var(--btn-danger);
|
|
}
|
|
|
|
.run-button {
|
|
background-color: var(--btn-success);
|
|
}
|
|
|
|
/* Tabs */
|
|
.tab-content {
|
|
display: none;
|
|
}
|
|
|
|
.tab-content.active {
|
|
display: block;
|
|
}
|
|
|
|
/* Columns & checkboxes */
|
|
.columns-container {
|
|
display: flex;
|
|
gap: 20px;
|
|
flex-wrap: wrap;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.column {
|
|
flex: 1;
|
|
max-width: 45%;
|
|
border: 2px solid var(--border-color);
|
|
border-radius: 8px;
|
|
padding: 10px;
|
|
background-color: var(--dark-gray-color);
|
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.checkbox-group label {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
/* Inputs / buttons in password and dropdown areas */
|
|
#PasswordContainer,
|
|
#dattoRmmContainer {
|
|
margin: 16px 0;
|
|
padding: 10px 12px;
|
|
border-radius: 8px;
|
|
background-color: var(--dark-gray-color);
|
|
border: 1px solid var(--border-color);
|
|
|
|
/* Never wider than the stack column, but cap at 520px on big screens */
|
|
width: calc(45% - 10px);
|
|
max-width: 480px;
|
|
|
|
}
|
|
|
|
#PasswordContainer input,
|
|
#PasswordContainer button,
|
|
#dattoRmmContainer select {
|
|
background-color: var(--dark-gray-color);
|
|
color: var(--white-color);
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 4px;
|
|
padding: 8px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
/* Password row: input + GO button on one line */
|
|
#PasswordContainer > div {
|
|
display: flex;
|
|
gap: 6px;
|
|
}
|
|
|
|
#PasswordContainer input {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
/* Dropdown fills the whole panel width */
|
|
#dattoRmmContainer select {
|
|
width: 100%;
|
|
}
|
|
|
|
/* GO button styling */
|
|
#PasswordContainer button,
|
|
.go-button {
|
|
background-color: var(--btn-sidebar-blue);
|
|
cursor: pointer;
|
|
transition: background-color 0.3s ease, transform 0.1s ease;
|
|
}
|
|
|
|
#PasswordContainer button:hover,
|
|
.go-button:hover {
|
|
background-color: var(--btn-hover);
|
|
transform: scale(1.03);
|
|
}
|
|
|
|
/* Tag line */
|
|
.tagline {
|
|
font-size: 1.2rem;
|
|
color: var(--light-gray-color);
|
|
font-weight: bold;
|
|
text-align: center;
|
|
}
|
|
|
|
/* Responsive */
|
|
@media (max-width: 768px) {
|
|
.container {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.sidebar {
|
|
width: 100%;
|
|
}
|
|
|
|
.column {
|
|
max-width: 100%;
|
|
}
|
|
|
|
#PasswordContainer,
|
|
#dattoRmmContainer {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
}
|
|
}
|