@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;500;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Geologica:wght@300;500;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;500;700;800&display=swap');

:root {

    --font1: 'Open Sans', sans-serif;
    --font1: 'Manrope', sans-serif;
    --font2: 'Geologica', sans-serif;





	/* palette H */
	--cc0: hsl(259, 14%, 18%);
	--cc1: hsl(214, 47%, 55%);
	--cc2: #82ade6;
	--cc3: darkorange;
	--cc4: #4da186;
	--cc5: #c05050;
    --cc6: #b6babd;




    --cc5: #969ea3;
	--cc5: #c05050;




    --white: #FAF9F6;



    
}

/* ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ */


::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: hsla(0, 0%, 0%, 0.1);
}
::-webkit-scrollbar-thumb {
    background: hsla(0, 0%, 0%, 0.5);
    border-radius: 20px;
}
body::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}
body::-webkit-scrollbar-track {
    background: hsla(0, 0%, 0%, 0.1);
}
body::-webkit-scrollbar-thumb {
    background: hsla(0, 0%, 0%, 0.5);
}


/* Main Layout */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

body, body * { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font1);
  background: #444;
  background: var(--cc0);
  color: white;
  overflow: hidden;
}
p { font-size: 16px; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--font2); }
a { text-decoration: none; color: #49F; }


/*  MARK: Common 
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.clearfix:after {
    content: "";
    display: table;
    clear: both;
  }
.A-flex,
.fp-flex { display: flex; }
.A-flex-wrap { display: flex; flex-flow: row wrap; align-items: start; }
.fp-hidden { display: none !important; }
.A-col-2 { width: 50% !important; } 
.flex-0 { flex: 0 !important; }
.flex-1 { flex: 1 !important; }
.abs {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.space-32 { width: 100%; height: 32px; }
.space-64 { width: 100%; height: 64px; }
svg {
    width: 32px;
    height: 32px;
    fill: var(--cc0);
}
.svg-stroke {
    fill: transparent;
    stroke: var(--cc0);
}

.apexcharts-svg {
    width: unset;
    height: unset;
    fill: unset;
}

.half { width: calc(50% - 0px); }
.half1 { width: calc(50% - 8px); margin-right: 8px; }
.half2 { width: calc(50% - 8px); margin-left: 8px; }

.flex1 { flex: 1; }
h2.flex1 { position: relative; top: 2px; }

.close {
    position: absolute;
    right: 16px;
    top: 16px;
    width: 24px;
    height: 24px;
    cursor: pointer;
    opacity: 0.3;
    transition: 0.2s all;
}
.close:hover {
    opacity: 1;
    transform: scale(0.8) rotate(90deg);
}

.center { text-align: center !important; place-content: center !important; }
.right { text-align: right !important; }
.left { text-align: left !important; }


img { position: relative; }
img:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: hsl(0, 0%, 75%);
}


svg { fill: hsl(0, 0%, 50%); }
.svg-fill-stroke { fill: hsl(0, 0%, 50%); stroke: hsl(0, 0%, 50%); }
.svg-fill { fill: hsl(0, 0%, 50%); }
.svg-stroke { stroke: hsl(0, 0%, 50%); }



button {
	padding: 4px 8px;
	font-size: 12px;
	color: var(--cc0);
	background: var(--cc6);
	background: hsl(202, 6%, 45%);
	border: none;
	cursor: pointer;
}
button:hover {
	background: white;
}

button.command {
    display: block;
    min-width: 80px;
    margin-top: 2px;
}



th {
    padding: 4px 8px;
    font-size: 14px;
    background: hsl(0, 0%, 40%);
}
td {
    padding: 2px 8px;
    font-size: 14px;
    text-align: center;
    color: hsl(0, 0%, 65%);
    cursor: pointer;
}
td.small { font-size: 12px; }
Xtr:hover td:not(.action):not(.action-separator) {
    color: white;
    background: hsl(0, 0%, 0%);
}
td.green { background: var(--cc4); color: hsl(0, 0%, 90%); }
td.red { background: var(--cc5); color: hsl(0, 0%, 90%); }
td.no-pad { padding: 2px 0; }


.spin { animation: spin 1s linear infinite; }
@keyframes spin {
    to { transform: rotate(360deg); }
}



input::placeholder {
    color: hsl(0, 0%, 80%);
}




.row {
    display: flex;
	width: fit-content;
	min-width: 100%;
	padding: 4px 0;
	font-size: 12px;
  	line-height: 1.1;
	color: hsl(0, 0%, 75%);
	border-top: 1px solid hsl(0, 0%, 35%);
    cursor: pointer;
}
.row.selected,
.row:hover {
    padding: 4px 0 4px 4px;
    background: hsl(0, 0%, 75%);
	color: hsl(0, 0%, 15%);
}
.row:hover .svg-dots { fill: hsl(0, 0%, 15%); opacity: 1; }
.row .svg-dots {
    height: 16px;
    margin-bottom: -4px;
    fill: hsl(0, 0%, 75%);
    cursor: pointer;
    opacity: 0;
}
.row[contenteditable] {
    padding: 4px;
    background: hsl(60, 85%, 92%);
    color: hsl(0, 0%, 15%);
    pointer-events: none;
}
.row .svg-loader {
    flex: 0 0 auto;
    margin-right: 6px;
    width: 16px;
    height: 16px;
    fill: hsl(0, 0%, 95%);
}
.row input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    margin: 0 4px 0 0;
    cursor: pointer;
}





/*  MARK: Popup */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.popup {
    display: flex;
    flex-flow: column;
    position: absolute;
    right: -100%;
    top: 0;
    width: calc(100% - 48px);
    width: calc(100% - 240px);
    height: calc(100% - 0px);
    padding: 16px;
    background: hsl(0, 0%, 80%);
    z-index: 999;
    transition: 0.3s all;
}
.popup.on { right: 0; }
.popup > .main {
    flex: 1;
    overflow-y: auto;
}
.popup .buttons {
    display: flex;
    place-content: flex-end;
    position: relative;
    margin: 16px -16px -16px;
    background: hsl(0, 0%, 70%);
    padding: 16px;
}
.popup button {
    min-width: 80px;
    padding: 8px 16px;
    margin-left: 8px;
    font-size: 14px;
    font-family: var(--font1);
    color:white;
}
.popup button:hover { background: var(--cc3); }
.popup button a { color: white; }
.popup .svg-loader {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 96px;
    height: 96px;
}
.popup .buttons .svg-loader {
    display: none;
    position: relative;
    height: 48px;
}
.popup.loading .buttons .svg-loader { display: block; }
.popup.loading .buttons button { display: none; }
.popup.loading select,
.popup.loading input,
.popup.loading textarea,
.popup.loading button { pointer-events: none; }
.popup h1 {
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 16px;
    padding: 7px 12px;
    font-size: 24px;
    background: var(--cc0);
}
.popup h1 span { margin-left: 10px; }
.popup h1 .path { color: #49F; }
.popup h2 { font-size: 18px; color: var(--cc0); }
.popup h3 { font-size: 16px; color: var(--cc0); }
.popup .close {
    top: 26px;
    right: 26px;
    stroke: white;
    stroke-width: 2;
}
.popup .main section {
    display: flex;
    flex-flow: row wrap;
    position: relative;
    width: fit-content;
    margin: 8px 0;
    padding: 12px;
    border: 2px dotted hsl(0, 0%, 70%);
}
.popup .main section.full { width: 100%; }
.popup .main section.hidden { display: none; }
.popup .main section h3 {
    width: 100%;
    margin: 0 0 8px;
    opacity: 0.5;
}
.popup .error {
    padding: 4px 8px;
    text-align: right;
    background: #c05050;
    color: white;
    white-space: break-spaces;
}
.popup .error + .popup .error { padding-top: 0; }
.loading-message {
    margin: 2px 0;
    padding: 8px 16px;
    background: var(--cc3);
    color: white;
    text-align: center;
    white-space: break-spaces;
}
.loading-message.ok { background: var(--cc4); }
.loading-message.failed { background: var(--cc5); }
.loading-message button {
    margin: 8px 4px 4px;
    padding: 4px 16px;
    background: #DDD;
    color: black;
    pointer-events: all !important;
}
.loading-message button:hover {
    background: var(--cc3);
    color: white;
}

textarea,
select,
input {
    flex: 1;
    display: block;
    width: 100%;
    padding: 8px;
    font-size: 14px;
    color: var(--cc0);
    background-color: white;
    border: 0;
    outline: 0;
}
select {
    flex: 0 0 auto;
    width: auto;
    min-width: 80px;
    padding: 7px 8px;
    cursor: pointer;
}
textarea { min-height: 96px; }
input[type="checkbox"] {
    width: 32px;
    flex: 0 0 auto;
    padding: 16px;
    height: 32px;
    margin: 0;
    cursor: pointer;
}


.show-pass {
    padding: 0 4px;
    background: white;
    cursor: pointer;
}
.show-pass svg {
    position: relative;
    top: 6px;
    height: 20px;
    width: 20px;
    fill: var(--cc0);
    opacity: 0.35;
}
.show-pass:hover svg { opacity: 1; }







.box.collapsed { display: none; }


.control {
    display: flex;
    margin-bottom: 4px;
    margin-right: 4px;
}

.control.flex-full { flex: 500 1 auto; min-width: 50%; }
.control.third { flex: 0 0 auto; width: calc(33.333% - 8px); margin-right: 8px; }
.control.third.end { flex: 0 0 auto; width: 33.333%; }
.control.end { margin-right: 0; }
.control.quarter { flex: 0 0 auto; width: calc(25% - 4px); margin-right: 4px; }
.control.quarter.end { flex: 0 0 auto; width: 25%; margin-right: 0; }
.control.half { flex: 0 0 auto; width: calc(50% - 4px); margin-right: 4px; }
.control.half.end { flex: 0 0 auto; width: 50%; margin-right: 0; }
.control.full { flex: 0 0 auto; width: 100%; margin-right: 0; }
.control.fill { flex: 0 0 auto; width: 100%; margin: 0; }
.control label {
    flex: 0 0 auto;
    width: 80px;
    padding: 7px 6px 0;
    font-size: 12px;
    text-align: right;
    color: var(--cc0);
    color: hsl(0, 0%, 80%);
    background-color: hsl(0, 0%, 100%);
}
.control p {
    margin: 0;
    padding: 6px 8px;
    font-size: 14px;
    color: var(--cc0);
    background-color: white;
}
.control > span {
    color: hsl(0, 0%, 80%);
    font-size: 12px;
    padding: 7px 6px 0;
    background: hsl(0, 0%, 100%);
}

X.control.checkbox label { white-space: nowrap; }
.wordpress-popup .control.checkbox,
.control.checkbox { margin-right: 16px; }
.wordpress-popup .control.checkbox label,
.control.checkbox label { width: auto; }

.control.file-input { flex-flow: column; }
.control.file-input button { margin: 0; }
.control.file-input input { font-size: 12px; }
.control.file-input label b { font-size: 16px; }
.control.file-input label {
    width: 100%;
    text-align: center;
    margin: 0;
    padding: 2px 4px;
    color: hsl(0, 0%, 50%);
}


.popup-wrapper {
    display: flex;
    flex-flow: column;
    place-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: hsla(0, 0%, 0%, 0.5);
    z-index: 999;
}
.popup-wrapper .popup {
    position: relative;
    height: auto;
    width: auto;
    min-width: 50%;
    min-height: 30vh;
}
.popup-wrapper.on .popup { right: 0%; }


.login-popup input {
    margin-bottom: 4px;
}
.login-popup button {
    margin: 8px 4px 0 0;
}






.website-popup .control {
    align-items: center;
    background: white;
}
.website-popup .control label {
    width: 100px;
    padding: 2px 6px;
    text-align: left;
    line-height: 1.1;
}
.website-popup .control div {
    flex: 1;
    display: block;
    width: 100%;
    padding: 8px;
    font-size: 14px;
    color: var(--cc0);
    background-color: white;
}
.website-popup .control span:nth-child(2) { margin-left: 6px; }
.website-popup .control span.off { background: hsl(0, 0%, 80%); }
.website-popup .control span {
    margin: 4px 2px;
    padding: 2px 8px;
    background: var(--cc2);
    color: white;
}
.website-popup .control button {
    margin: 0;
    background: var(--cc2);
    color: white;
    border: 2px solid white;
    padding: 6px 12px;
    transition: 0.2s all;
    border-radius: 6px;
}
.website-popup .control button:hover {
    background: var(--cc3);
}
.website-popup .control img {
    width: 32px;
    height: 32px;
    margin: 0 6px;
}

.website-popup .svg-loader {
    position: relative;
    height: 48px;
    margin: 12px auto;
}



.flex { display: flex; }




.website-popup .output-control { align-items: flex-start; }
.output {
    position: relative;
    margin-right: 8px;
    margin-top: 8px;
}
.output h4 {
    width: 100%;
    margin: 0;
    padding: 4px 8px;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    background: #acacb9;
    color: white;
}

.output table {
    background: white;
}
.output th {
    padding: 4px 12px;
    font-size: 13px;
    background: #f3f3f5;
    color: #444;
}
.output td {
    padding: 6px 16px;
    text-align: left;
}
.output tr:nth-child(odd) {
    background: hsl(0, 0%, 95%);
}
.output-email-ports td:first-child { text-align: right; }
.output .status {
    padding: 3px 8px;
    margin: -3px 0;
    font-size: 12px;
}


.output-performance {
    min-width: 50vw;
}
.output-performance .svg-loader {
    position: relative;
    margin: 24px auto;
    height: 64px;
}

.performance-info {
    padding: 0;
    border: 0;
}




.tabs-menu {
    display: flex;
    flex-flow: row wrap;
    margin: 0 0 16px;
    border-bottom: 1px solid #ddd;
}
.tabs-menu div {
    padding: 10px 15px;
    cursor: pointer;
    border: 1px solid transparent;
    border-bottom: none;
    margin-right: 5px;
    border-radius: 4px 4px 0 0;
    transition: all 0.2s;
    color: #777;
}
.tabs-menu div.on {
    border-color: #ddd;
    border: 0;
    border-bottom: 2px solid var(--cc3);
    color: black;
    background: #BBB;
    font-weight: 500;
}











X.performance-timelinebar .timeline-segment {
    display: flex;
    flex-flow: row;
    position: relative;
}
X.performance-timelinebar span {
    position: absolute;
    left: 96px;
    top: 2px;
    color: white;
}
X.performance-timelinebar label {
    flex: 0 0 auto;
    display: inline-block;
    width: 80px;
    margin-right: 8px;
    text-align: right;
}
X.performance-timelinebar .timeline-bar {
    height: 24px;
    background: var(--cc3);
}


.optimization-table { width: 100%; }



/* Performance Summary Styles */
.performance-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 12px;
  padding: 20px;
  background-color: #f5f5f7;
  border-radius: 12px;
  text-align: center;
}

/* Score Container */
.score-container {
  position: relative;
  width: 120px;
  height: 120px;
  margin-bottom: 15px;
}

/* Score Circle */
.score-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  font-weight: bold;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border: 6px solid;
  transition: all 0.3s ease;
}

/* Score colors based on rating */
.score-circle.excellent {
  border-color: #4caf50;
  background-color: rgba(76, 175, 80, 0.15);
}
.score-circle.good {
  border-color: #8bc34a;
  background-color: rgba(139, 195, 74, 0.15);
}
.score-circle.average {
  border-color: #ffc107;
  background-color: rgba(255, 193, 7, 0.15);
}
.score-circle.poor {
  border-color: #f44336;
  background-color: rgba(244, 67, 54, 0.15);
}

/* Score text */
.score-text {
  font-size: 32px;
  font-weight: bold;
}
.score-circle.excellent .score-text {
  color: #2e7d32;
}
.score-circle.good .score-text {
  color: #558b2f;
}
.score-circle.average .score-text {
  color: #ff8f00;
}
.score-circle.poor .score-text {
  color: #c62828;
}

/* Score label */
.score-label {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  margin-bottom: 10px;
}

/* HTTP Status */
.http-status {
  font-size: 14px;
  color: #555;
  margin-top: 5px;
}

/* Status indicators */
.status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.status.on {
  background-color: #e8f5e9;
  color: #2e7d32;
}
.status.off {
  background-color: #ffebee;
  color: #c62828;
}

/* Media query for smaller screens */
@media (max-width: 768px) {
  .score-container {
    width: 100px;
    height: 100px;
  }
  
  .score-text {
    font-size: 28px;
  }
}




/* Performance Metrics Table */
.atable {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0;
  font-size: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  background-color: #fff;
}
.atable th {
  background-color: #f3f3f5;
  color: #444;
  font-weight: 600;
  text-align: left;
  padding: 12px;
  border-bottom: 2px solid #e1e1e6;
}
.atable td {
  padding: 10px 12px;
  border-bottom: 1px solid #e1e1e6;
  vertical-align: middle;
  text-align: left;
}
.atable tr:hover {
  background-color: #f9f9fb;
}
.atable tr:last-child td {
  border-bottom: none;
}
.atable td.flex { display: flex; }
.atable td div { display: inline-block; }
.atable td button {
    display: inline-block;
    margin: -4px 0;
    padding: 4px 16px;
    border-radius: 4px;
    background: var(--cc2);
}
.atable td span {
    background-color: #e8f5e9;
    color: #2e7d32;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 500;
    margin: 0 2px;
}

.check-performance { background: var(--cc2); }
.check-performance:hover { background: var(--cc3); }
.domain-info { color: #999; }

.mail-info .atable td span.status {
    font-size: 14px;
    word-break: break-all;
}
.mail-info .atable td span.status svg {
    height: 16px;
    margin: 4px 0 0;
}

.mail-credentials,
.mail-records { display: none; }
.mail-records { margin-top: 8px; }
.mail-records td button { float: right; }
.logs-buttons,
.mail-buttons {
    padding: 16px;
    background: white;
}
.logs-buttons button,
.mail-buttons button {
    margin: 0 8px 0 0;
    background: var(--cc2);
}
.logs-buttons button.on,
.mail-buttons button.on { background: var(--cc3); }

.email-security { margin-bottom: 8px; }
.email-security td { font-size: 12px; }
.email-security td button {
    margin-left: 8px;
    padding: 4px 8px;
    font-size: 12px;
    background: var(--cc2);
    color: white;
    float: right;
}
.security-assessment > div { padding: 0 24px; }
.security-assessment, 
.email-security-advanced {
    width: 100%;
    margin-top: 8px;
    background: white;
    color: #444;
}
.email-security-advanced { margin-top: 0; }
.security-score { 
    display: flex;
    align-items: center;
    margin: 16px 0 8px;
}
.score-bar {
    flex: 1;
    height: 10px;
    background: #ddd;
    border-radius: 5px;
    overflow: hidden;
}
.score-fill {
    height: 100%;
    background: linear-gradient(90deg, #ff4d4d 0%, #ffff4d 50%, #4dff4d 100%);
}
.score-value {
    margin-left: 10px;
    font-weight: bold;
}
.security-tips {
    padding: 24px 24px 16px !important;
}
.security-tips ul { margin: 8px 0; }
.security-tips li { font-size: 14px; }








/* Column widths */
X.performance-metrics th:nth-child(1),
X.performance-metrics td:nth-child(1) {
  width: 20%;
}

X.performance-metrics th:nth-child(2),
X.performance-metrics td:nth-child(2) {
  width: 15%;
}

X.performance-metrics th:nth-child(3),
X.performance-metrics td:nth-child(3) {
  width: 15%;
}


/* Optimization Table */
.optimization-status {
  margin: 25px 0;
  background-color: #fbfbfd;
  border-radius: 8px;
  padding: 15px;
  border: 1px solid #eaeaea;
}
.optimization-status h4 {
  margin-top: 0;
  margin-bottom: 12px;
  font-size: 16px;
}
.optimization-table {
  width: 100%;
  border-collapse: collapse;
}
.optimization-table td {
  padding: 10px 8px;
  border-bottom: 1px solid #eaeaea;
}
.optimization-table tr:last-child td {
  border-bottom: none;
}
.optimization-table td:nth-child(1) {
  font-weight: 500;
  width: 22%;
}
.optimization-table td:nth-child(2) {
  width: 18%;
}
.optimization-table td:nth-child(3) {
  color: #666;
  font-style: italic;
}

/* Performance Recommendations */
.performance-recommendations {
  margin: 25px 0;
  background-color: #f9f9fb;
  border-radius: 8px;
  padding: 15px;
  border: 1px solid #eaeaea;
}
.performance-recommendations h4 {
  margin-top: 0;
  margin-bottom: 12px;
  font-size: 16px;
}
.performance-recommendations ul {
  margin: 0;
  padding-left: 20px;
}
.performance-recommendations li {
  margin-bottom: 8px;
  color: #444;
}
.performance-recommendations li:last-child {
  margin-bottom: 0;
}

/* Timeline Visualization */
.performance-timelinebar {
  margin: 25px 0;
  background-color: #fbfbfd;
  border-radius: 8px;
  padding: 15px;
  border: 1px solid #eaeaea;
}
.timeline-label {
  margin-bottom: 15px;
  font-weight: 500;
  color: #333;
}
.timeline {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.timeline-segment {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 26px;
}
.timeline-segment label {
    width: 90px;
    font-size: 13px;
    font-weight: 500;
    text-align: right;
    color: hsl(0, 0%, 65%);
}
.timeline-bar {
  height: 14px;
  border-radius: 7px;
  min-width: 5px;
  transition: width 0.5s ease;
}
.timeline-segment span {
  font-size: 13px;
  color: #666;
  width: 60px;
}

/* Timeline segment colors */
.timeline-segment.dns .timeline-bar {
  background-color: #4caf50;
}
.timeline-segment.connect .timeline-bar {
  background-color: #2196f3;
}
.timeline-segment.ssl .timeline-bar {
  background-color: #ff9800;
}
.timeline-segment.ttfb .timeline-bar {
  background-color: #9c27b0;
}
.timeline-segment.download .timeline-bar {
  background-color: #f44336;
}

/* Media queries for responsive design */
@media (max-width: 768px) {
  .performance-metrics th:nth-child(4),
  .performance-metrics td:nth-child(4) {
    display: none;
  }
  
  .timeline-segment label {
    width: 70px;
  }
  
  .optimization-table td:nth-child(1) {
    width: 30%;
  }
  
  .optimization-table td:nth-child(3) {
    font-size: 13px;
  }
}



.website-popup .tab-content { padding: 0; }


.site-logs .cli-result {
    place-content: unset;
    width: 100%;
    margin: 0;
}

.site-logs .cli-result .output { max-height: 70vh; }

.output table.logs {
    background: unset;
}
.output table.logs tr:nth-child(odd) {
    background: hsla(0, 0%, 100%, 0.05);
}
.output table.logs tr:hover {
    background: unset;
    background: hsla(0, 0%, 100%, 0.2);
}
.output table.logs td { padding: 2px 16px; }
table.logs td:nth-child(1) {
    white-space: nowrap;
}

table.logs td:nth-child(8),
table.logs td:nth-child(5) {
    font-size: 11px;
}
table.mail-logs td:nth-child(8) {
    font-size: 14px;
}





.mail-setup-result {
    display: flex;
    flex-flow: column;
}


















/*  MARK: App */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#app {
	display: flex;
	flex-flow: row wrap;
}
#app header {
    display: flex;
    place-content: flex-end;
	width: 100%;
	padding: 24px 48px 0;
}
#app header:empty { padding: 8px; }
#sidebar {
	flex: 0 0 auto;
    position: relative;
	width: 240px;
	height: 100vh;
	overflow-y: auto;
	padding: 24px;
	background: black;
    box-shadow: 6px 0 10px hsla(0, 0%, 0%, 0.35);
}
#sidebar > div {
    margin-bottom: 24px;
}
#sidebar h2 {
	font-size: 16px;
}
#sidebar section {
	overflow-x: auto;
}
#sidebar section button { width: 100%; }
#app > .body {
    display: flex;
    flex-flow: column;
	flex: 1;
	height: 100vh;
	overflow-y: auto;
}
#sidebar section > .svg-loader {
    fill: hsl(0, 0%, 75%)
}
#main {
    flex: 1;
    position: relative;
    height: calc(100vh - 140px);
    height: 100vh;
    overflow-y: auto;
    padding: 48px;
}
#main > .svg-loader {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    fill: white;
    width: 96px;
    height: 96px;
    opacity: 0.5;
}
.right-side {
    flex: 0;
    width: auto;
    max-width: 50%;
    padding: 16px;
    transition: 0.3s all;
}
.right-side:empty { padding: 24px; }

#controls {
    display: flex;
    flex-flow: row wrap;
    padding: 12px 24px;
}
#controls textarea {
    flex: 1;
    height: auto;
    min-height: 96px;
    max-height: 70vh;
    padding: 8px;
    margin: 0;
    font-size: 14px;
    color: white;
    background: var(--cc0);
    border: 1px solid hsl(0, 0%, 35%);
}
#controls .file-controls {
    display: flex;
    flex-flow: column;
    margin-left: 8px;
}
#controls .file-controls label {
    display: block;
    text-align: center;
    font-size: 12px;
    opacity: 0.5;
}
#controls .file-controls button { margin-bottom: 2px; }
#controls .fileControls {
    display: flex;
    flex-flow: row wrap;
}
#controls .fileInput {
    display: none;
    font-size: 12px;
    width: 118px;
}
.prompt-files {
    display: flex;
    width: 100%;
    overflow-x: auto;
    margin: 0 0 4px;
}
.prompt-files:empty { margin: 0; }

.add-thread-button {
    position: absolute;
    right: 24px;
    top: 16px;
    font-size: 18px;
    font-weight: 700;
    font-family: var(--font2);
    line-height: 1;
}



#main-menu hr { opacity: 0.3; }
#main-menu button {
    display: block;
    min-width: 140px;
    margin-bottom: 2px;
    text-align: left;
    font-size: 14px;
    text-transform: uppercase;
    padding: 6px 8px;
}



.context-menu {
    position: absolute;
    padding: 12px 16px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 8px 12px hsla(0, 0%, 0%, 0.4);
    z-index: 900;
}
.context-menu-item {
    padding: 4px 8px;
    cursor: pointer;
}
.context-menu-item:hover {
    background: #444;
    color: white;
}
    
      

/*  MARK: Panel */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.panel {
    position: relative;
    margin-bottom: 24px;
    border: 1px solid hsl(0, 0%, 35%);
}

.panel svg { 
    height: 24px;
    width: 24px;
    margin: 0 12px;
    cursor: pointer;
}
.panel svg:hover { fill: hsl(0, 0%, 95%); }
.panel .svg-stroke:hover { fill: transparent; stroke: hsl(0, 0%, 95%); }
Χ.panel .svg-refresh {
    position: absolute;
    right: 48px;
    top: 12px;
}
.panel .svg-loader {
    width: 100%;
    height: 40px;
    margin: 16px auto;
}
.panel .header .svg-loader {
    display: none;
    height: 24px;
    width: 24px;
    margin: 0 12px;
}
.panel .header {
    display: flex;
    place-content: space-between;
    align-items: center;
    position: relative;
    padding: 8px;
    border-bottom: 1px solid hsl(0, 0%, 35%);
    background: hsl(0, 0%, 35%);
}
.panel .header .buttons {
    display: flex;
    line-height: 0;
    align-items: center;
}
.panel .header select:focus {
    border: 1px solid hsl(0, 0%, 40%);
}
.panel .header select {
    margin: 0 12px;
    padding: 4px;
    background: #444;
    background: hsl(0, 0%, 35%);
    border: 1px solid hsl(0, 0%, 30%);
    color: hsl(0, 0%, 75%);
    outline: 0;
}
.panel .body {
    display: flex;
    flex-flow: row wrap;
    position: relative;
    overflow-x: auto;
    padding: 8px 0;
}
.panel .body > div  {
    display: flex;
    margin: 0 4px;
    font-size: 14px;
    color:hsl(0, 0%, 65%); 
}
.panel .body > div em {
    font-size: 16px;
    font-weight: 700;
    font-style: normal;
    color:hsl(0, 0%, 100%);
}
.panel .body > div.full { width: 100%; }
.panel .body > div.half { width: 50%; margin: 0; }
.panel var {
    margin: 0 4px;
    font-size: 16px;
    font-weight: 700;
    font-style: normal;
    color:darkorange;
}
.panel .large var { font-size: 20px; }
.panel button .svg-loader {
    height: 18px;
    margin: -4px 0;
    fill: var(--cc3);
}
.panel.loading *,
.panel.loading { pointer-events: none; }



.input-panel {
    display: flex;
    flex-flow: row wrap;
    position: relative;
    margin-top: -16px;
    padding: 12px;
    border: 1px solid hsl(0, 0%, 35%);
}
.input-panel .control { flex: 1; margin-bottom: 0; }
.input-panel button { font-size: 16px; }
.input-panel .svg-loader { display: none; margin: 0 13px; }



.panel-uptime .body {
    place-content: space-between;
}
.panel-node-applications {
    width: fit-content;
    min-width: 60%;
}
.panel-node-applications th,
.panel-node-applications td { font-size: 12px; text-align: center; }
.panel-node-applications td button { min-width: 64px; white-space: nowrap; }
.panel-node-applications td.name { min-width: 140px; }
.panel-node-applications td.version,
.panel-node-applications td.name { text-align: left; }
.panel-node-applications td.status.green { background: #4da186; }
.panel-node-applications td.status.red { background: #c05050; }
.panel-node-applications td.status.orange { background: #aa870f; }
.panel-node-applications td.action { padding: 4px 0; }
.panel-node-applications td.action-separator { padding: 4px 8px; }

.app-actions { display: flex; }
.pm2-table .separator { display: inline-block; margin: 0 6px; }
.app-actions button { margin: 0 0 0 2px; }
.app-actions button:first-child { margin-left: 0; }
.app-actions button:last-child { margin-right: 0; }



.app-buttons,
.item-info { display: none; margin-bottom: 24px; }
.app-buttons td:nth-child(2) { text-align: left; }
table .app-info {
    text-align: left;
}
.app-info > div {
    margin: 0 8px 4px 0;
}
.app-info label {
    color: hsl(0, 0%, 50%);
}
.app-info span {
    color: hsl(0, 0%, 80%);
}
.item-info td {
    padding-top: 8px;
    padding-bottom: 24px; 
    border-bottom: 1px solid hsl(0, 0%, 35%);
}
.item-info td:first-child {
}
.item-info td:last-child {
}




.pm2-table tr.item.selected td:not(.green):not(.red):not(.app-actions),
.pm2-table tr.item.selected .uptime,
.pm2-table tr.item.selected .version,
.pm2-table tr.item.selected .name {
    background: var(--cc3);
    color: white;
}
.pm2-table tr.site { pointer-events: none; }
.pm2-table tr.site td {
    padding-top: 16px
}
.pm2-table tr.site td div {
    padding: 4px 8px;
    font-weight: 700;
    text-align: left;
    background: hsl(0, 0%, 20%);
    color: hsl(0, 0%, 90%);
}
.pm2-table td { white-space: nowrap; vertical-align: baseline; }
.pm2-table td.app-actions { padding: 0 8px; }

.pm2-table .control {
    flex-flow: row-reverse wrap;
    place-content: flex-end;
}
.pm2-table .control label {
    padding: 2px 4px;
    font-size: 12px;
    background: transparent;
}
.pm2-table .control input[type="checkbox"] {
    width: 20px;
    height: 20px;
    padding: 0;
}










.collapse-button {
    position: absolute;
    right: 56px;
    top: 12px;
    width: 24px;
    height: 12px;
    border-bottom: 4px solid white;
    opacity: 0.3;
    cursor: pointer;
}
.collapse-button:hover { opacity: 1; }

.popup.collapsed {
    position: relative;
    top: 0;
    right: 0;
    width: auto;
    height: calc(100vh - 28px);
    padding: 8px;
}
.popup.collapsed .close { top: 11px; right: 11px; }
.popup.collapsed .head h1 { font-size: 20px; }
X.popup.collapsed > *:not(.head) { display: none; }
X.popup.collapsed .head h1 div,
.popup.collapsed .head h1 select,
.popup.collapsed .head h1 button { display: none; }
.popup.collapsed .head h1 .collapse-button {
    display: block;
    top: 7px;
    right: 42px;
    height: 16px;
    background: white;
}




/*  MARK: Bars */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.flex-column {
    display: flex;
    flex-flow: column;
}
.bar {
    display: flex;
    flex-flow: column;
    align-items: center;
    position: relative;
    text-align: center;
}
.bar > span {
    flex: 1;
    display: block;
    position: relative;
    width: 80%;
    min-width: 40px;
    border: 1px solid hsl(0, 0%, 35%);
}
.bar > span b {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: hsl(0, 0%, 40%);
}
.bar var {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    font-size: 14px;
}
.bar label {
    font-size: 12px;
    line-height: 1.1;
}



.bars-box {
    display: flex;
    flex-flow: row wrap;
    width: 200px;
    padding: 2px;
    text-align: center;
    border: 1px solid hsl(0, 0%, 35%);
}
.bars-box .label {
    width: 100%;
    padding: 4px 8px;
    font-size: 13px;
    background: hsl(0, 0%, 40%);
    color: hsl(0, 0%, 80%);
}
.bars-box .flex-column {
    flex: 1;
}
.bars-box .bar {
    height: 60px;
    margin: 0 16px;
}
.bars-box .bar label span {
    font-size: 11px;
    color: hsl(0, 0%, 50%);
}

.h-bars .bar {
    flex-flow: row;
    width: auto;
    height: 20px;
    margin: 0;
}
.h-bars .bar label {
    flex: 0 0 auto;
    width: 80px;
    margin-right: 4px;
    text-align: right;
}

.h-bars .bar > span {
    width: 100%;
    height: 100%;
    min-width: 100px;
}
.h-bars .bar > span b { height: 100%; }




.disk-usage.bars-box { width: 158px; }
.disk-usage.bars-box .bar { width: 60px; height: 90px; margin: 0 8px; }
.disk-usage.bars-box .bar label { margin-top: 2px; }

.cpu-usage { flex-flow: row; }
.cpu-usage .bar label { width: 64px; }



.cpu-load .bar {
    flex-flow: column-reverse;
    width: 33.333%;
    margin: 0;
}
.memory-usage { width: 222px; border: 0; margin: 0; }
.memory-usage .bar { width: 100px; margin: 0 4px; }
.memory-usage .bar var { font-size: 12px; }













/*  MARK: Toast */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.toasts {
    display: flex;
    flex-flow: column-reverse;
    position: absolute;
    right: 0;
    top: 0;
    width: 300px;
    height: 100vh;
    padding: 12px;
    pointer-events: none;
    transition: 0.3s all;
    z-index: 999999;
}
.toast {
    position: relative;
    top: 0vh;
    margin-top: 6px;
    padding: 12px;
    text-align: center;
    background: hsl(0, 0%, 80%);
    color: var(--cc0);
    pointer-events: all;
    transition: 0.3s all;
}
.toast.off { top: 100vh; }
.toast h2 { margin: 8px 0; font-size: 20px; }
.toast p { margin: 4px 0; font-size: 14px; }

.toast.red,
.toast.error { background: var(--cc5); color: white; }
.toast.ok,
.toast.green,
.toast.success { background: var(--cc4); color: white; }
.toast.orange,
.toast.warning { background: var(--cc3); color: white; }











/*  MARK: Wordpress Manager */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.panel-list-websites table,
.panel-list-websites { width: 100%; }
.panel-list-websites .body { display: block; }





/*  MARK: Websites */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.websites-table tr.subdomain td.domain { padding-left: 24px; opacity: 0.75; color: var(--cc3); }
.websites-table td.domain { color: #ffea4e; }
.websites-table td.link { padding: 2px 0; }
.websites-table td.link svg {
    position: relative;
    top: 2px;
    width: 16px;
    height: 16px;
}
.websites-table td.state,
.websites-table td.ssl { font-size: 12px; }
.websites-table td.ssl.wildcard { background: hsl(161, 35%, 37%); }
.websites-table td.ssl.wildcard-root { background: var(--cc4); position: relative; }
.websites-table td.ssl.wildcard-root:before {
    content: "*";
    position: absolute;
    top: 2px;
    left: 6px;
    font-size: 20px;
    color:white;
}
.websites-table td:nth-child(1) { text-align: left; }
.websites-table td:nth-child(4) em {
    display: inline-block;
    width: 50%;
    min-width: 40px;
    text-align: right;
    font-style: normal;
}
.websites-table td:nth-child(5) { font-size: 12px; }
.websites-table td.action { padding: 0; }
.websites-table td.action:last-child { padding-right: 6px; }
.websites-table td button { width: 100%; min-width: 56px; padding: 5px 8px; }
.websites-table td.action-wordpress { line-height: 0; }
.websites-table td.action-wordpress svg {
    position: relative;
    top: 2px;
    width: 18px;
    height: 18px;
    margin: 0 8px;
}
.websites-table td.action-wordpress.active svg {
    top: 0;
    width: 22px;
    height: 22px;
    fill: white;
    background: var(--cc2);
    border-radius: 50px;
}
.websites-table tr:last-child td:first-child { pointer-events: none; }
.websites-table tr:last-child td:last-child { padding: 0; }
.websites-table tr:last-child td:hover { background: transparent; }
.websites-table tr:hover td:not(.action):not(.ssl) {
    background: hsl(0, 0%, 75%);
    color: hsl(0, 0%, 15%);
}
.add-app,
.add-website {
    width: calc(100% - 16px);
    margin: 0;
    padding: 8px;
    color: white;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    font-family: var(--font2);
}
.add-app:hover,
.add-website:hover { color: hsl(0, 0%, 0%); }

.add-website-popup > .main {
    display: flex;
    flex-flow: row wrap;
    place-content: flex-start;
}

.add-app {
    width: 100%;
    margin: 0;
}

.ssl-controls { display: flex; }
.ssl-controls-info {
    width: 100%;
    padding-left: 164px;
    color: hsl(0, 0%, 30%);
}



/*  MARK: Wordpress */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.popup .install-wp-button {
    text-transform: uppercase;
}
.wordpress-popup .control:not(.file-input):not(.checkbox) label { width: 100px; }
.wordpress-popup input[name="version"] { width: 100px; }
.wordpress-popup .buttons .import {
    position: absolute;
    left: 20px;
}
.wordpress-popup .head { position: relative; }
.wordpress-popup .head .svg-loader.active { fill: var(--cc3); }
.wordpress-popup .head .svg-loader {
    position: absolute;
    right: 32px;
    left: unset;
    top: 11px;
    bottom: unset;
    height: 24px;
    z-index: 9;
}
.wordpress-popup .buttons-02 { flex: 1; }


.wp-replace label {
    width: auto !important;
}
.wp-replace input {
    margin-left: 8px;
}



.sending h2 { width: 100%; }
.sending .main { display: flex; flex-flow: row wrap; place-content: flex-start; position: relative; }
.sending .main section h3 { margin: 0; }
.sending .main section.administrator .control.end,
.sending .main section.database,
.sending .main section.updates { display: none; }
.sending .main section {
    flex-flow: column;
    width: calc(50% - 16px) !important;
    margin: 2px 8px 16px;
    padding: 0;
    border: 0;
    flex: 0 0 auto;
}
.sending .control.flex-full { flex: unset; }
.sending .control.half.end,
.sending .control { width: 100%; margin-bottom: 2px; }
.sending .control label {
    width: auto;
    padding: 1px 6px 0 0;
    font-size: 11px;
    background: transparent;
    color: hsl(0, 0%, 30%);
    opacity: 0.5;
}
.sending .control > span {
    padding: 0px;
    font-weight: 900;
    background: transparent;
    color: var(--cc0);
    font-family: var(--font2);
}
.sending textarea,
.sending select,
.sending input {
    flex: unset;
    width: auto;
    padding: 0;
    font-size: 12px;
    background: transparent;
    font-weight: 900;
    font-family: var(--font1);
}
.sending input[type="checkbox"] { height: auto; }

.sending .main section.extras { flex-flow: row wrap; width: 90% !important; }
.sending .main section.extras .control { width: auto; }




.wp-cron-popup {

}








/*  MARK: LOGS */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.logs-popup {
    display: flex;
    flex-flow: column;
    overflow-y: unset;
}
.logs-popup h1 select { padding: 4px; margin: 0 0 0 15%; }
.logs-popup h1 button {
    margin-left: 8px;
    padding: 6px 8px;
}
.logs-popup h1 .switch {
    display: flex;
    margin-left: 8px;
}
.logs-popup h1 .switch button {
    margin-left: 2px;

}
.logs-popup h1 .switch button.on {
    background: hsl(0, 0%, 70%);
    background: #4da186;
    color: white;
}
.logs-popup > .buttons { display: none; }

.logs-list {
    padding-right: 12px;
    overflow-y: auto;
}
.log-row {
    display: flex;
    position: relative;
    font-family: monospace;
    font-size: 13px;
    color: hsl(0, 0%, 25%);
    white-space: pre;
    margin-top: 2px;
}
.log-row .timestamp {
    flex: 0 0 auto;
    position: relative;
    width: 126px;
    margin-right: 16px;
    opacity: 0.5;
}
.log-row.no-timestamp { margin-top: 0px; }
.log-row.no-timestamp .timestamp {
    height: 10px;
    border-bottom: 1px dashed hsl(0, 0%, 60%);
}
.log-row.error {
    background: #c05050;
    color: white;
}

.log-row.error + .log-row.error .timestamp { opacity: 0; }
.log-row.error + .log-row.error .log-line { font-size: 11px; }
.log-row.log + .log-row.error .timestamp { padding-top: 12px; }
.log-row.log + .log-row.error .log-line {
    padding: 8px 0 4px;
    margin-bottom: 4px;
    font-size: 16px;
    font-weight: 700;
    border-bottom: 1px solid hsl(0deg 0% 100% / 70%);
}


.logs-list.hide-logs .log-row.log { display: none; }
.logs-list.hide-errors .log-row.error { display: none; }

.logs-list .show-previous {
    margin: 16px 0;
    color: white;
    font-size: 16px;
    padding: 8px 16px;
 }

.logs-list .show-previous:hover { color: black; }


.refresh-logs {
    position: absolute;
    right: 128px;
    top: 8px;
    font-size: 14px;
    opacity: 0.5;
}

.restore-refreshing {
    position: absolute;
    right: 100px;
    top: 8px;
    width: 186px;
    font-size: 14px;
    background: #49F;
    color: white;
    font-weight: 700;
}
.restore-refreshing:hover { color: black; }




.create-app-popup .main {
    display: flex;
    flex-flow: row wrap;
    place-content: flex-start;
}
.app-path {
    flex: 1;
    padding: 4px 16px;
    color: hsl(0, 0%, 20%);
}
.app-path label {
    color: hsl(0, 0%, 60%);
}



.app-info label,
.no-select {
    user-select: none; /* Standard property */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE/Edge */
}









/*  MARK: DATABASES */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.databases-table tr.no-users { display: none; }
.databases-table th,
.databases-table td { text-align: left; }
.databases-table .user-row {
    display: flex;
}
.databases-table .user-row .user {
    flex: 0 0 auto;
    width: 200px;
}
.databases-table .user-row .privileges {
    display: none;
    flex-flow: row wrap;
    padding-top: 2px;
}
.databases-table .user-row .privileges span {
    margin: 0 2px 2px 0;
    padding: 0 4px;
    font-size: 10px;
    background: hsl(0, 0%, 60%);
    color:hsl(0, 0%, 10%)
}

.databases-table .actions {
    display: flex;
    background: transparent !important;
}
.databases-table .actions button {
    margin-right: 2px;
}








/*  MARK: MIGRATION */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.migration-panels {
    display: flex;
    margin: 0 0 0 -40px;
}
.migration-panel {
    flex: 0 0 auto;
    width: 50%;
}

.migration-panel { padding: 0 0 0 40px; }
.migration-panel h1 { color: var(--cc2); }
.migration-panel .checkbox { flex: 1; margin: 0 0 4px; }
.migration-panel .checkbox label { min-width: 80px; }
.migration-panel section button { padding: 6px 16px; }
.migration-panel[alt="local"] .server-inputs,
.migration-panel[alt="local"] .db-inputs { display: none; }
.migration-panel[alt="remote"] .local-inputs { display: none; }

.migration-panel section button.red { background: var(--cc5); color: white; }
.migration-panel section button.green { background: var(--cc4); color: white; }
.migration-panel section button.green:hover,
.migration-panel section button.red:hover { background: var(--cc0); }
.migration-panel .file-row[alt="2"] { color: var(--cc3); }
.migration-panel .filler { flex: 1 1 auto; min-width: 1px; }
.migration-panel.source .local-button-section { display: none; }
.migration-panel .local-button-section { place-content: flex-end; }
.migration-panel .local-button-section .control { flex: 0; }



.wp-migration-popup .success {
    width: calc(100% - 24px);
    margin: 24px 12px 32px;
    padding: 24px;
    font-size: 18px;
    text-align: center;
    background: var(--cc4);
    color: hsla(0, 0%, 100%, 0.7);
}
.wp-migration-popup .success a { color: white;}




.console {
    position: relative;
    width: 100%;
    margin: 12px 0;
    font-family: monospace;
    font-size: 12px;
    background: var(--cc0);
    color: var(--cc2);
    box-shadow: 0 12px 24px hsla(0, 0%, 0%, 0.2);
    padding: 16px 12px 12px;
    border-radius: 8px;
    white-space: break-spaces;
}
.console .entries {
    max-height: 100%;
    overflow-y: auto;
}
.console .entries > div b { color: var(--cc6); font-weight: 700; }
.console .entries > div.bold { color: hsl(0deg 0% 90%); font-weight: 700; }
.console .entries > div.red { color: hsl(0deg 70% 60%); }
.console .entries > div.red b { color: hsl(0deg 70% 70%); }
.console .entries > div.ok,
.console .entries > div.green { color: var(--cc4); }
.console .svg-times {
    position: absolute;
    right: 4px;
    top: 4px;
    width: 12px;
    height: 12px;
    cursor: pointer;
    fill: var(--cc5);
}
.console .svg-times:hover { fill: var(--cc2); }
.console .hide,
.console .clear {
    position: absolute;
    right: 12px;
    top: 4px;
    font-size: 10px;
    color: var(--cc6);
    opacity: 0.4;
    cursor: pointer;
}
.console .clear { right: 48px; }
.console .hide:hover,
.console .clear:hover { color: var(--cc2); opacity: 1; }

.migration-panel .console { max-height: 300px; }

.migrate-console {
    width: calc(100% - 24px);
    margin: 24px 12px;
}


.phpmyadmin.disabled {
    pointer-events: none;
    opacity: 0.5;
}

X.wordpress-popup .website > button { flex: 1; }
.wordpress-popup .wp-path { width: calc(100% - 151px); }
.wp-extras { display: flex; }
.wp-extras .column:last-child { padding-right: 0; }
.wp-extras .column {
    flex: 0 0 auto;
    width: 33.333%;
    padding-right: 16px;
}
.wp-extras .column button { width: 100%; margin: 0; }
.wp-extras .list {
    width: 100%;
    padding: 0 0 2px;
    background: var(--cc0);
}
.wp-extras .list .row { display: flex; padding: 4px 8px; }
.wp-extras .list .row.active { background: var(--cc4); color: white; }
.wp-extras .list .row .status {
    flex: 0 0 auto;
    width: 14px;
    margin-right: 8px;
    border-radius: 20px;
}
.wp-extras .list .row .email,
.wp-extras .list .row .name { flex: 1; }
.wp-extras .list .row .id {
    flex: 0 0 auto;
    margin-right: 8px;
    width: 24px;
    text-align: center;
}
.wp-extras .list .row .id.orange {
    background: var(--cc3);
    color: white;
}
.wp-extras .list .row .version { flex: 0 0 auto; width: 48px; }
.wp-extras .list .row .status.green  { background: var(--cc4); }
.wp-extras .list .row .update { flex: 0 0 auto; width: 48px; opacity: 0.6; }
.wp-extras .list .row .username { flex: 0 0 auto; width: 80px; }
.wp-extras .list .svg-loader {
    position: relative;
    width: 100%;
    height: 32px;
    margin: 32px 0;
}



.backup-popup > .main { flex: unset; min-height: 100px; }
.backup-popup .buttons { display: none; }
.backup-popup button { margin: 0 8px 0 0; }
.backup-list {
    position: relative;
    margin-top: 24px;
    padding: 24px;
    background: var(--cc0);
}
.backup-list .svg-loader {
    position: relative;
    height: 64px;
    margin-top: 48px;
}
.backup-list .row {
    align-items: center;
    padding: 8px 0;
    font-size: 14px;
}
.backup-list .row > div { margin-right: 24px; }
.backup-list .row:hover { background: transparent; color: hsl(0, 0%, 75%); }
.backup-list .row button {
    padding: 4px 16px;
}
.backup-list .row .restore {
    position: relative;
    top: 2px;
}
.backup-list .row .restore:hover { color: var(-cc3); }
.backup-list .row .delete { flex: 0 0 auto; width: 40px; }
.backup-list .row .delete:hover svg { fill: var(--cc5); }
.backup-list .row .date { flex: 0 0 auto; width: 124px; }
X.backup-list .row .name { flex: 0 0 auto; width: 200px; }
.backup-list .row .name { flex: 1; display: flex; align-items: center; }
.backup-list .row .zip,
.backup-list .row .sql {
    flex: 0 0 auto;
    width: 140px;
    cursor: pointer;
}
.backup-list .row:hover .date,
.backup-list .row:hover .name,
.backup-list .row .zip:hover,
.backup-list .row .sql:hover { color: var(--cc3); }
.backup-list .row .zip:hover span,
.backup-list .row .sql:hover span { opacity: 1; } 
.backup-list .row .zip:hover svg,
.backup-list .row .sql:hover svg { fill: var(--cc3); } 
.backup-list .row span { margin-left: 6px; opacity: 0.5; }
.backup-list .row i {
    flex: 1;
    height: 1px;
    border-top: 1px solid hsl(0, 0%, 30%);
}
.backup-list .row svg {
    position: relative;
    top: 3px;
    height: 20px;
}


.backup-list .creating {
    display: flex;
    align-items: center;
    margin-top: 16px;
    color: var(--cc3);
}
.backup-list .creating .svg-loader {
    height: 48px;
    margin: 0 40px 0 12px;
    fill: var(--cc3);
}
.backup-list .creating.success { color: var(--cc4); }
.backup-list .creating.success a { margin-left: 8px; }
.backup-list .creating.error {
    color: var(--cc5);
    background: transparent;
    padding: 0;
}






/*  MARK: FILES */
.files-popup .head h1 { display: none; }
.files-popup .close {
    display: none;
    top: 20px;
    stroke: black;
}
.files-popup .buttons { padding: 8px 16px; margin: 4px -16px -16px; }

.popup button.add-browser {
    padding: 0 16px;
    font-size: 20px;
}


.files-browser .bottom-buttons {
    display: flex;
    place-content: flex-end;
    position: relative;
    margin: 16px -16px -16px;
    background: hsl(0, 0%, 70%);
    padding: 8px 16px;
}
.files-browser .bottom-buttons button {
    min-width: 80px;
    padding: 8px 16px;
    margin-left: 8px;
    font-size: 14px;
    font-family: var(--font1);
    color:white;
}
.files-browser .bottom-buttons button:hover { background: var(--cc3); }












.browser-head {
    display: flex;
    align-items: center;
    position: relative;
    margin: 2px 0;
    padding: 2px 0 2px 10px;
    font-size: 17px;
    font-family: var(--font2);
    background: var(--cc0);
    background: hsl(0, 0%, 75%);
    color: hsl(0, 0%, 10%);
}
.browser-head .svg-refresh,
.browser-head .svg-caret,
.browser-head .svg-times {
    width: 16px;
    height: 16px;
    margin: 0 4px 0 8px;
    stroke: hsl(0, 0%, 10%);
    stroke-width: 3;
    opacity: 0.5;
    cursor: pointer;
}
.browser-head .svg-refresh:hover,
.browser-head .svg-caret:hover,
.browser-head .svg-times:hover {
    stroke: var(--cc3);
    opacity: 1;
}
.browser-head .svg-refresh {
    width: 18px;
    height: 18px;
}
.browser-head .svg-caret {
    margin: 0 12px 0 0px;
    stroke: unset;
    fill: hsl(0, 0%, 10%)
}
.browser-head .svg-caret:hover {
    stroke: unset;
    fill: hsl(0, 0%, 10%)
}
.browser-head .bookmark-button {
    width: 70px;
    text-align: center;
}
.browser-head .bookmark-button svg {
    position: relative;
    top: 1px;
    height: 20px;
    cursor: pointer;
}
.browser-head .bookmark-button svg:hover {
    fill: var(--cc3);
}
.browser-head .path {
    flex: 1;
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    color: #49F;
    color: hsl(0, 0%, 60%);
    color: hsl(0, 0%, 10%);
}
.browser-head .path i:hover { color: var(--cc3); }
.browser-head .path i:first-child { padding-right: 4px; }
.browser-head .path i {
    display: inline-block;
    font-style: normal;
    cursor: pointer;
}
.browser-head.editing .path { height: 29px; }
.browser-head.editing { padding: 0 0 0 10px; }
.browser-head .path input {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 4px 8px;
    background: #3d3d3d;
    background: hsl(0, 0%, 100%);
    color: hsl(0, 0%, 10%);
    border: 0;
}


.recent-list {
    display: flex;
    flex-flow: column-reverse;
    position: absolute;
    background: white;
    padding: 4px 8px 4px 40px;
    color: black;
    width: calc(100% - 32px);
    z-index: 999;
}
.recent-item {
    padding: 2px;
    cursor: pointer;
}

.recent-item:hover {
    background: hsl(0, 0%, 15%);
    color: white;
}


.files-popup > .main {
    display: flex;
    flex-flow: column;
    height: calc(100vh - 75px);
    height: 100vh;
}


.files-browser .row div::-webkit-scrollbar,
.browser-head .path::-webkit-scrollbar {
    width: 2px;
    height: 2px;
}
.files-browser .row div::-webkit-scrollbar-track,
.browser-head .path::-webkit-scrollbar-track {
    background: hsla(0, 0%, 100%, 0.05);
}
.files-browser .row div::-webkit-scrollbar-thumb,
.browser-head .path::-webkit-scrollbar-thumb {
    background: hsla(0, 0%, 100%, 0.15);
}



.files-lists {
    display: flex;
    align-items: flex-start;
    position: relative;
    overflow-y: auto;
    margin-bottom: 8px;
    padding-right: 8px;
}
.files-browser + .files-browser { margin-left: 12px; }
.files-browser {
    flex: 1;
    position: relative;
    padding: 4px 16px 16px;
    font-family: monospace;
    background: var(--cc0);
}
.files-browser .browser-list {
    min-height: 200px;
}
.files-browser .files-back {
    flex: 1;
    width: auto;
    margin-left: 0;
    padding-left: 12px;
    text-align: left;
}
.files-browser .svg-loader {
    position: relative;
    width: 100%;
    height: 64px;
    margin-top: 64px;
}
.files-browser .error {
    position: relative;
    width: 100%;
    margin-top: 8px;
    padding: 6px 12px;
    font-size: 14px;
    font-family: var(--font2);
    text-align: center;
    background: var(--cc5);
    color: hsla(0, 0%, 100%, 0.7);
}
.files-browser .row[data-type="directory"].selected { color: hsl(213, 100%, 88%); }
.files-browser .row.selected {
    background: transparent;
    color: hsl(0, 0%, 100%);
}
.files-browser .row {
    align-items: center;
    width: 100%;
    padding: 1px 0;
    font-size: 14px;
    border: 0;
}

.files-browser .row .file-select {
    width: 16px;
    height: 16px;
    margin: 0 4px 0 8px;
    padding: 0;
    opacity: 0.6;
}

.files-browser .row .file-select[checked] { opacity: 1; }
.files-browser .row[data-type="directory"] { color: #49F; }
.files-browser .row[data-type="directory"] svg:not(.svg-loader):not(.svg-stroke) { fill: var(--cc1); }
.files-browser .row[data-type="directory"] .svg-stroke { fill: transparent; stroke: var(--cc1); }
.files-browser .row > div { margin-right: 24px; }
.files-browser .row:not(.head-row):hover { background: transparent; color: var(--cc3); }
.files-browser .row:not(.head-row) svg:hover { fill: var(--cc3); }
.files-browser .row:not(.head-row) .svg-stroke:hover { stroke: var(--cc3); }
.files-browser .row button { padding: 2px 16px; }
.files-browser .row .restore {
    position: relative;
    top: 2px;
}
.files-browser .row .restore:hover { color: var(-cc3); }
.files-browser .row .delete { flex: 0 0 auto; width: 40px; }
.files-browser .row .delete:hover svg { fill: var(--cc5); }
.files-browser .row .date { flex: 0 0 auto; width: 124px; }
.files-browser .row .name {
    flex: 1;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
}
.files-browser .row .size { flex: 0 0 auto; width: 80px; white-space: nowrap; text-align: right; }
.files-browser .row .owner { flex: 0 0 auto; width: 180px; }
.files-browser .row .perm {
    flex: 0 0 auto;
    width: 124px;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}
.files-browser .row .type {
    flex: 0 0 auto;
    width: 100px;
    text-align: left;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    font-size: 12px;
    font-family: var(--font1);
}
.files-browser .row svg {
    position: relative;
    top: 3px;
    width: 20px;
    height: 20px;
}
.files-browser .row .svg-stroke { fill: transparent; stroke: hsl(0, 0%, 50%); }
.files-browser .row .bookmark-button svg { padding: 1px; top: 0; }
.files-browser .row.bookmarked .bookmark-button svg { fill: var(--cc3); stroke: var(--cc3); }
.files-browser .row.bookmarked .bookmark-button svg:hover { fill: transparent; }
.files-browser .head-row {
    align-items: unset;
    padding: 0;
    background: transparent;
    font-size: 13px;
    font-weight: 700;
    font-family: var(--font1);
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 2px;
    border: 0;
}
.files-browser .head-row div.last { flex: 0 0 auto; width: 64px; }
.files-browser .head-row div.name { text-align: center; }
.files-browser .head-row div {
    padding: 4px 0;
    margin-right: 24px;
    color: hsl(0, 0%, 75%);
    text-align: left;
}
.files-browser .head-row .file-select {
    width: 24px;
    height: 23px;
    margin: 0 0 0 4px;
}


.files-browser.active .browser-head { background: var(--cc1); color: white; }
.files-browser.active .browser-head .path { color: white; }
.files-browser.active .browser-head svg { stroke: white; }
.files-browser.active .browser-head .svg-caret {
    stroke: unset;
    fill: white;
}
.files-browser.compact { max-width: calc(50% - 6px); }
.files-browser.compact .row .last { width: 32px; margin: 0; }
.files-browser.compact .row .file-delete,
.files-browser.compact .row .file-download-button,
.files-browser.compact .row .perm,
.files-browser.compact .row .owner,
.files-browser.compact .row .type { display: none; }
.files-browser.compact .browser-head { font-size: 14px; }
.files-browser.compact .browser-head .bookmark-button { width: 32px; }
.files-browser.compact .row > div { padding-right: 12px; }
.files-browser.compact .row > .bookmark-button { padding-right: 0; }

.files-browser .row > div.editing {
    padding: 4px;
    background: var(--cc1);
    color: white;
    outline: 0;
}
.files-browser .row .svg-loader {
    top: 2px;
    width: auto;
    margin: -4px 4px;
}
.files-browser .row.faded {
    opacity: 0.5;
    pointer-events: none;
}




.files-browser .dropzone {
	position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
	background: transparent;
}
.files-browser .dropzone.drag-hover {
	background: hsla(168, 71%, 72%, 0.35);
}
.dropzone.inactive { pointer-events: none; }
.files-browser .dropzone .view-value { display: none; }


.browser-upload {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: hsla(0, 47%, 53%, 0.75);
    color: hsl(0, 0%, 90%);
    font-size: 14px;
    font-family: var(--font2);
    text-align: center;
    padding: 24px;
}
.browser-upload .svg-loader { fill: white; }
.browser-upload .bar {
    align-items: flex-start;
    width: 100%;
    height: 40px;
    margin-top: 24px;
    border: 3px solid white;
    border-radius: 8px;
}
.browser-upload .bar span {
    width: 0%;
    height: 40px;
    background: white;
    background: var(--cc3);
    border-radius: 6px;
}
.browser-upload label i {
    flex: 1;
    font-style: normal;
    text-align: right;
}
.browser-upload label {
    display: flex;
    width: 100%;
    margin-top: 6px;
    font-size: 18px;
    color: white;
}




.command-line {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 4px 8px;
    background: var(--cc0);
}

.command-line span {
    padding-right: 6px;
    color: hsl(0, 0%, 50%);
    font-family: monospace;
    font-size: 12px;
}

.command-line input {
    flex: 1;
    padding: 0;
    background: transparent;
    color: var(--cc2);
    font-family: monospace;
    font-size: 12px;
}


.cli-result {
    display: flex;
    place-content: flex-end;
    position: relative;
    margin: 0 -16px -16px;
    padding: 0 8px 24px 12px;
    background: var(--cc0);
    color: hsl(0, 0%, 60%);
    font-size: 12px;
    font-family: monospace;
    white-space: break-spaces;
    border-top: 4px solid var(--cc3);
}
 
.cli-result .output {
    flex: 1;
    max-height: 50vh;
    overflow-y: auto;
    padding: 12px 0 0;
}
.cli-result .command { color: hsl(0, 0%, 90%); }
.cli-result .command span { color: var(--cc2); }
.cli-result .error {
    padding: 4px 0;
    color: var(--cc5);
    background: transparent;
    text-align: left;
}
.cli-result .svg-times {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    margin-left: 8px;
    margin-top: 8px;
    stroke: var(--cc5);
    stroke-width: 3px;
    cursor: pointer;
}







.multiple-actions,
.files-buttons {
    display: flex;
    place-content: flex-end;
}
.multiple-actions button,
.files-buttons button {
    margin-bottom: 2px;
    margin-left: 2px;
    padding: 2px 8px;
    font-size: 12px;
    text-transform: uppercase;
    background: var(--cc3);
}
.multiple-actions button { background: var(--cc1); }
.files-buttons button.active,
.files-buttons button:hover {
    background: var(--cc2);
}
.files-buttons button .svg-loader {
    height: 18px;
    margin: -4px 0;
    fill: white;
}
.files-buttons button[disabled] {
    pointer-events: none;
}



.bookmarks {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 4px;
}
.bookmarks .bookmark {
    margin: 0 2px 2px 0;
    padding: 2px 8px;
    font-size: 13px;
}
.bookmarks .bookmark.active {
    background: var(--cc3);
    color: white;
}
.files-popup .bookmark-button.bookmarked svg {
    fill: var(--cc3);
    stroke: var(--cc3);
}










.play-button {
    width: 0;
    height: 0;
    border-left: 10px solid hsla(0, 0%, 100%, 0.5);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    cursor: pointer;
}
.play-button:hover {
    border-left: 10px solid hsla(0, 0%, 100%, 1);
}








/*  MARK: CRON JOBS */
.wp-cron-popup .list {
    width: 100%;
    padding: 0 0 2px;
    background: var(--cc0);
}
.wp-cron-popup .list .row { display: flex; padding: 0; }
.wp-cron-popup .list .row > div { padding: 4px 8px; }
.wp-cron-popup .list .row.active { background: var(--cc4); color: white; }
.wp-cron-popup .list .row .status {
    flex: 0 0 auto;
    width: 14px;
    margin-right: 8px;
    border-radius: 20px;
}
.wp-cron-popup .list .row .play { padding: 4px 12px; background: var(--cc0); }
.wp-cron-popup .list .row .name { flex: 1; }
.wp-cron-popup .list .row .next { flex: 0 0 auto; width: 180px; }
.wp-cron-popup .list .row .recurrence { flex: 0 0 auto; width: 80px; }
.wp-cron-popup .list .svg-loader {
    position: relative;
    width: 100%;
    height: 32px;
    margin: 32px 0;
}


.cron-popup h3.button:hover { background: var(--cc3); }
.cron-popup h3.button {
    padding: 4px 8px;
    background: var(--cc1);
    color: white;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}


.popup .add-cron-job { margin: 6px 0 32px; }
.popup .save-cron { margin: 6px 0 32px 6px 0 32px calc(100% - 206px); }

.cron-list-2 { display: none; }
.cron-list {
    position: relative;
    padding: 0;
    background: var(--cc0);
}
.cron-list .svg-loader {
    position: relative;
    height: 64px;
    margin-top: 48px;
}

.cron-list .row {
    align-items: center;
    padding: 0;
}
.cron-list .cron-item > div {
    flex: 1;
    padding: 6px 0 6px 8px;
    font-size: 12px;
    background: transparent;
    color: hsl(0, 0%, 75%);
    border: 0;
    outline: 0;
}
.cron-list .cron-item > label,
.cron-list .cron-item > input {
    flex: 0 0 auto;
    width: 48px;
    padding: 6px 8px;
    font-size: 12px;
    text-align: center;
    background: transparent;
    color: hsl(0, 0%, 75%);
    border: 0;
    outline: 0;
}
.cron-list .cron-item > label {
    width: 90px;
    font-size: 10px;
    padding: 3px 8px;
    text-align: right;
    color: hsl(0, 0%, 50%);
}
.cron-list .cron-item:hover { background: transparent; }
.cron-list .cron-item:hover input,
.cron-list .cron-item:hover div { color: var(--cc2); }
.cron-list .cron-item input:focus {
    color: var(--cc3);
    transform: scale(1.5);
}
.cron-list .cron-item div:focus { color: var(--cc3); }
.cron-list .cron-item button svg {
    position: relative;
    top: 2px;
    width: 18px;
    height: 18px;
}
.cron-list .cron-item button:hover svg { fill: white; }
.cron-list .cron-item button {
    flex: 0 0 auto;
    width: 40px;
    min-width: unset;
    margin: 0;
    padding: 4px 8px;
    background: transparent;
}
.cron-list .cron-head { border: 0; padding: 0; }
.cron-list .cron-head > div {
    flex: 0 0 auto;
    width: 48px;
    padding: 6px 4px;
    background: hsl(0, 0%, 100%);
    color: var(--cc0);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}
.cron-list .cron-head > div.command { flex: 1; width: auto; }
.cron-list .cron-head > div.next { width: 90px; }
.cron-list .cron-head > div.delete { width: 40px; }





/*  MARK: DATABASES */
.db-list {
    position: relative;
    padding: 0;
    background: var(--cc0);
}
.db-list .svg-loader {
    position: relative;
    height: 64px;
    margin-top: 48px;
}
.db-list .row {
    padding: 0;
}
.db-list .db-item > div {
    flex: 1;
    padding: 6px 8px;
    font-size: 14px;
    background: transparent;
    color: hsl(0, 0%, 75%);
    border: 0;
    outline: 0;
}
.db-list .db-item > label,
.db-list .db-item > input {
    flex: 0 0 auto;
    width: 48px;
    padding: 6px 8px;
    font-size: 12px;
    text-align: center;
    background: transparent;
    color: hsl(0, 0%, 75%);
    border: 0;
    outline: 0;
}
.db-list .db-item > label {
    width: 90px;
    font-size: 10px;
    padding: 3px 8px;
    text-align: right;
    color: hsl(0, 0%, 50%);
}
.db-list .db-item:hover { background: transparent; }
.db-list .db-item:hover input,
.db-list .db-item:hover div { color: var(--cc2); }
.db-list .db-item input:focus {
    color: var(--cc3);
    transform: scale(1.5);
}
.db-list .db-item div:focus { color: var(--cc3); }
.db-list .db-item svg {
    flex: 0 0 auto;
    position: relative;
    top: 6px;
    width: 40px;
    height: 18px;
    min-width: unset;
    margin: 0;
    background: transparent;
}
.db-list .db-item svg:hover { fill: var(--cc2); }
.db-list .db-item .svg-trash:hover { fill: var(--cc5); }
.db-list .db-item button {
    min-width: unset;
    padding: 4px 8px;
    font-size: 12px;
    color: hsl(0, 0%, 70%);
}
.db-list .db-item button:hover { color: white; }
.db-list .db-head { border: 0; padding: 0; }
.db-list .db-head > div {
    flex: 1;
    width: auto;
    padding: 6px 8px;
    background: hsl(0, 0%, 100%);
    color: var(--cc0);
    font-size: 12px;
    font-weight: 700;
}
.db-list .db-head > div.command { flex: 1; width: auto; }
.db-list .row > .phpmyadmin { margin-right: 8px; }
.db-list .row > div.name { flex: 0 0 auto; width: 240px; }
.db-list .row > div.size { flex: 0 0 auto; width: 100px; text-align: right; }
.db-list .row > div.action { flex: 0 0 auto; width: 40px; }









/*  MARK: CODE EDITORS */
.code-editors {
    display: flex;
}
.code-editor {
    display: flex;
    flex-flow: column;
    position: relative;
    width: 100%;
    height: 100%;
    height: calc(100vh - 0px);
}
.code-editor .instance {
    flex: 1;
    position: relative;
    width:100%;
    height: 50%;
}
.code-editor h1 {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
    padding: 6px 12px;
    color: hsl(0, 0%, 70%);
    background: var(--cc0);
    font-size: 14px;
}
.code-editor.active h1 {
    color: white;
    background: var(--cc1);
}




.code-editor-popup { padding: 0; }
.code-editor-popup .main { background: #222222; }
.code-editor-popup .buttons { flex: 0 0 auto; margin: 0; padding: 0px; }
.code-editor-popup .buttons button { min-width: 120px; }
.code-editor-popup .buttons button.success svg { stroke: white; height: 19px; margin: -2px 0; }
.code-editor-popup .buttons button.success {
    background: var(--cc4);
    pointer-events: none;
}
.code-editor-popup .buttons button.disabled {
    pointer-events: none;
    background: #999;
    color: #BBB;
}
.code-editor-popup .buttons button .svg-loader {
    display: block;
    height: 19px;
    fill: white;
}
.code-editor-popup .head h1 { display: none; }
.code-editor-popup .close { display: none; top: 6px; right: 16px; }




.code-tabs::-webkit-scrollbar {
    width: 2px;
    height: 8px;
}
.code-tabs::-webkit-scrollbar-track {
    background: hsla(0, 0%, 100%, 0.05);
}
.code-tabs::-webkit-scrollbar-thumb {
    background: hsla(0, 0%, 100%, 0.15);
} 




.code-tabs {
    flex: 0 0 auto;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    margin-top: 3px;
}
.code-tabs .tab {
    position: relative;
    margin: 0 0 0 2px;
    padding: 2px 6px;
    font-size: 12px;
    font-family: var(--font1);
    color: hsl(0, 0%, 60%);
    background: hsl(0, 0%, 20%);
    border: none;
    border-radius: 2px 2px 0 0;
    cursor: pointer;
    white-space: nowrap;
}
.code-tabs .tab:hover {
    color: hsl(0, 0%, 90%);
    background: hsl(0, 0%, 11.76%);
}
.code-tabs .tab.active {
    color: var(--cc3);
    background: hsl(0, 0%, 11.76%);
}
.code-tabs .tab span {
    display: inline-block;
    position: relative;
    top: 3px;
    margin: -6px 0 -4px 4px;
    font-size: 18px;
    cursor: pointer;
    opacity: 0.5;
}
.code-tabs .tab:hover span { opacity: 1; }
.code-tabs .tab span:hover { color: white; }
.code-tabs .tab.unsaved:before {
    content: "";
    display: inline-block;
    position: relative;
    top: -1px;
    width: 6px;
    height: 6px;
    margin-right: 4px;
    background: var(--cc5);
    border-radius: 20px;
}












/*  MARK: FILES TREE */
#files-tree {
    flex: 0 0 auto;
    position: absolute;
    left: -100%;
    top: 0;
    width: 240px;
    height: 100vh;
    overflow-y: auto;
    padding: 12px 12px 12px 0;
    background: hsl(300, 15%, 20%);
    color: hsl(0, 0%, 90%);
    transition: 0.3s all;
    box-shadow: 6px 0 10px hsla(0, 0%, 0%, 0.35);
}
#files-tree.on { left: 0; }
.jstree-contextmenu { z-index: 99999; }
#files-tree .fa-folder { color: #49F; }
#files-tree .fa-file-code { color: hsl(30 90% 70%); }

.jstree-default-dark .jstree-anchor {
    line-height: 20px;
    height: 20px;
    font-size: 12px;
}
.jstree-default-dark .jstree-icon:empty {
    width: 20px;
    height: 20px;
    line-height: 20px;
}
.jstree-default-dark .jstree-node {
    min-height: 20px;
    line-height: 20px;
    margin-left: 20px;
    min-width: 20px;
}
.jstree-default-dark .jstree-wholerow-clicked {
    background: var(--cc3) !important;
}
.jstree-wholerow-ul .jstree-anchor.jstree-clicked { color: white; }
#files-tree .jstree-anchor.jstree-clicked .fa-file-code { color: white; }
.jstree-icon.jstree-ocl { display: none !important; }
.jstree-default-dark .jstree-striped {
    background-image: repeating-linear-gradient(
        to bottom,
        hsl(300 15% 22%),
        hsl(300 15% 22%) 24px,
        hsl(300 15% 20%) 24px,
        hsl(300 15% 20%) 50px
      ) !important;
}


.bottom-buttons,
.popup-controls {
    display: flex;
    align-items: center;
    flex: 1;
    padding: 0 8px;
    font-family: var(--font1);
}
.bottom-buttons .control,
.popup-controls .control {
    margin: 2px 8px 2px 4px;
}
.bottom-buttons input[type="checkbox"],
.popup-controls input[type="checkbox"] {
    width: 16px;
    padding: 8px;
    height: 16px;
    cursor: pointer;
}
.bottom-buttons .control label,
.popup-controls label {
    width: auto;
    margin: 0 0 0 4px;
    padding: 0;
    background: transparent;
    text-align: left;
    color: hsl(0, 0%, 30%);
}

.bottom-buttons { place-content: flex-start; }
.bottom-buttons > *:last-child {
    flex: 1;
    place-content: flex-end;
    text-align: right;
}










/*  MARK: SYSTEM */
.panel-system-info .body { flex-flow: row wrap; }
.panel-system-info .body > div {
    flex-flow: column;
    margin-right: 32px;
}
.panel-system-info .body > div label {
    flex: 0 0 auto;
    display: inline-block;
    width: 40px;
}
.panel-system-info .body > div .process .name { flex: 1; }
.panel-system-info .body > div .process span { width: 80px; }
.panel-system-info .body > div span {
    flex: 0 0 auto;
    display: inline-block;
    width: 90px;
    font-weight: 700;
    color: white;
    text-align: right;
}
.panel-system-info .body > div em {
    font-size: 14px;
    color: hsl(0, 0%, 65%);
    font-style: normal;
}
.panel-system-info .process {
    display: flex;
}
.panel-system-info .process .name {
    flex: 0 0 auto;
    width: 180px;
    white-space: nowrap;
    overflow-x: hidden;
}
.processes-info,
.processes-mem-info { flex: 1 1 auto; width: 40%; }
.panel-system-info .processes-mem-info,
.panel-system-info .processes-info { width: 100%; }
.panel-system-info .disk-info { flex: 1 1 auto; }
.panel-system-info .mem-info,
.panel-system-info .cpu-info { flex: 0 0 auto; width: 300px; }


.panel-system-info .graph {
    display: flex;
    align-items: flex-end;
    position: relative;
    width: 100%;
    height: 120px;
    overflow-x: hidden;
    overflow-y: hidden;
    margin: 0 0 6px;
    background: var(--cc0);
    color: hsl(0, 0%, 70%);
    border: 1px solid hsl(0, 0%, 40%);
}
.panel-system-info .graph .graph-bar {
    flex: 0 0 auto;
    width: 2px;
    background: var(--cc4);
}
.panel-system-info .mem-info .graph .graph-bar { width: 6px; };






.system-network {


}

#network-graph {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 200px;
}





.view-email-popup {
    background: white;
}
.view-email-popup .head {
    display: flex;
    align-items: flex-end;
    padding: 8px 16px;
    font-size: 14px;
    font-family: var(--font1);
    background: var(--cc0);
    color: hsl(0, 0%, 50%);
}
.view-email-popup .head > div {
    flex: 0 0 auto;
    width: 50%;
    padding: 0 8px;
    text-align: left;
}
.view-email-popup .head > div.right { text-align: right; padding-right: 32px; }
.view-email-popup .head span { color: hsl(0, 0%, 90%); }
.view-email-popup .head .subject span { color: var(--cc3); }
.view-email-popup .head .subject { font-size: 18px; margin-bottom: 4px; }

.view-email-popup > .main {
    display: flex;
    color: hsl(0, 0%, 10%);
    font-size: 14px;
    font-family: var(--font1);
}
.view-email-popup > .main > div {
    flex: 0 0 auto;
    width: 50%;
    padding: 24px 8px;
    text-align: left;
}
.view-email-popup > .main > div.view-email { padding-right: 48px; }

.email-list .item {
    display: flex;
    margin: 4px 0;
    padding: 2px 4px;
}
.email-list .item:nth-child(odd) {
    background: hsl(0, 0%, 94%);
}
.email-list .item > div {
    padding-right: 24px;
}
.email-list .item .subject { flex: 1; }
.email-list .item .from { flex: 0 0 auto; width: 200px; }
.email-list .item .date {
    flex: 0 0 auto;
    width: 160px;
    padding-right: 0;
    font-family: monospace;
    text-align: right;
    letter-spacing: -0.5px;
    font-size: 12px;
}




.analysis-popup button[disabled] { pointer-events: none; background: hsla(202, 6%, 45%, 0.7); }
.analysis-popup button .svg-loader,
button .svg-loader {
    position: relative !important;
    height: 18px;
    fill: var(--cc3);
    margin: -2px 0;
}



.analysis-popup h1 { margin-bottom: 8px; }
.analysis-thread {
    display: flex;
    flex-flow: column;
    height: calc(100% - 35px);
}

.analysis-input {
    display: flex;
    flex: 0 0 auto;
    margin-top: 8px;
    max-height: 60vh;
}
.analysis-prompt { margin: 0 8px; }
.analysis-controls button:first-child { margin-left: 0; }

.analysis-output {
    flex: 1;
    overflow-y: auto;
    margin-top: 8px;
    color: black;
}
.analysis-output code,
.analysis-output pre {
    font-family: monospace;
    font-size: 17px;
    color: hsl(233, 57%, 50%);
    font-weight: 700;
}
.analysis-output pre { white-space: break-spaces; }
.analysis-output .loading {
    width: 100%;
    margin: 24px 0;
    text-align: center;
    opacity: 0.6;
}
.analysis-output .svg-loader {
    position: relative;
    width: 100%;
    height: 64px;
    margin-top: 32px;
}
.analysis-buttons select,
.analysis-buttons button { width: 100%; margin: 0 0 2px; }
.analysis-buttons button:last-child { margin-bottom: 0; }
.analysis-buttons.buttons-1 { width: 120px; }
.analysis-buttons.buttons-1 button { padding: 6px; }
.analysis-include-data,
.analysis-previous {
    display: flex;
    align-items: center; 
    margin-bottom: 2px;
}
.analysis-include-data input,
.analysis-previous input {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    margin: 0;
}
.analysis-include-data label,
.analysis-previous label {
    flex: 1;
    padding: 2px 8px;
    font-size: 12px;
    color: hsl(0, 0%, 30%);
    background: white;
}


.ai-response {
    margin-bottom: 12px;
    padding: 16px 24px;
    background: white;
    border-radius: 12px;
}
.ai-response[alt="user"] {
    background: transparent;
}
.ai-response .ai-data { display: none; }
.ai-response h1 {
    margin: 12px 0 32px;
    padding: 0;
    background: transparent;
    color: var(--cc1);
}
.ai-response h2 {
    margin: 48px 0 16px;
}
.ai-response h3 {
    margin: 32px 0 12px;
}
.ai-response p {
    margin: 10px 0;
}
.ai-response h1 code {
    margin: 0 8px;
    padding: 0;
    font-size: 24px;
    background: transparent;
}
.ai-response table { margin: 24px 0; border-collapse: collapse; }
.ai-response th {
    color: white;
    background: hsl(0, 0%, 40%);
}
.ai-response td {
    padding: 6px 10px;
    font-size: 14px;
    text-align: left;
    color: hsl(0, 0%, 25%);
}



table.domain-ssl-table th,
table.domain-email-table th { color: black; }











