: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%; } }