/*********************************************
 ** EdiRo26 Theme — Purple, Dark Grey, Gold **
 *********************************************/

:root {
	--purple-dark:   #3b0764;
	--purple-mid:    #6d28d9;
	--purple-light:  #a78bfa;
	--gold:          #f0c040;
	--gold-dark:     #b8860b;
	--gold-light:    #ffe680;
	--grey-darkest:  #0e0e16;
	--grey-dark:     #1a1a26;
	--grey-mid:      #26263a;
	--grey-light:    #363650;
	--grey-border:   #46466a;
	--grey-text:     #c8c8e0;
	--white:         #f0eeff;
}

.loginbox-admin-menu { padding-top: 5px; color: var(--gold); }

body {
	margin: 0 0 20px 0; padding: 0;
	font-family: "Segoe UI", Verdana, Tahoma, sans-serif;
	font-size: 9pt;
	color: var(--grey-text);
	background-color: var(--grey-darkest);
	background-image: linear-gradient(160deg, #090010 0%, #0e0e16 55%, #1a0830 100%);
	background-attachment: fixed;
}

table { font-family: "Segoe UI", Verdana, Tahoma, sans-serif; font-size: 9pt; }
tr, td, th { vertical-align: top; }
.horizontal-table tr,.vertical-table tr,.generic-form-table tr,
.horizontal-table td,.vertical-table td,.generic-form-table td { vertical-align: middle; }
.horizontal-table th,.vertical-table th,.generic-form-table th { vertical-align: top; }

h2 { color: var(--gold); letter-spacing: -1px; text-shadow: 0 0 12px rgba(240,192,64,0.35); }
h3 { font-weight: normal; font-size: 120%; color: var(--purple-light); border-bottom: 1px dotted var(--grey-border); text-transform: uppercase; }
h3:first-letter { font-weight: bold; }
p { margin: 4px 0 8px 0; padding: 0; }
a img { border: 0; }
a { color: var(--purple-light); text-decoration: none; transition: color .15s; }
a:hover { color: var(--gold); }

input[type=text], input[type=password], input[type=file], textarea {
	font-family: "Segoe UI", Verdana, Tahoma, sans-serif;
	padding: 5px 8px; font-size: 10pt;
	color: var(--white); background-color: var(--grey-mid);
	border: 1px solid var(--grey-border); border-radius: 4px; outline-width: 0;
	transition: border-color .2s, box-shadow .2s;
}
input[type=text]:focus, input[type=password]:focus, textarea:focus {
	border-color: var(--purple-mid);
	box-shadow: 0 0 6px rgba(109,40,217,.5);
	background-color: var(--grey-light);
}
select { background-color: var(--grey-mid); color: var(--white); border: 1px solid var(--grey-border); border-radius: 4px; padding: 3px 6px; }
label:hover { cursor: pointer; }

.module-name { font-weight: bold; font-size: 12pt; color: var(--gold); }

.message {
	display: block; padding: 10px 14px; font-weight: bold; font-size: 110%;
	color: #111; background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%);
	border-left: 4px solid var(--gold-dark); border-radius: 4px; margin-bottom: 10px;
}
.notice {
	display: block; padding: 10px; font-size: 110%;
	color: var(--gold-light); background-color: rgba(109,40,217,.15);
	border: 1px solid var(--purple-mid); border-radius: 4px;
}

/* ── Sidebar ─────────────────────────────────── */
#admin_sidebar, #sidebar { margin-bottom: 10px; border-collapse: collapse; border-spacing: 0; width: 198px; }
#admin_sidebar img, #sidebar img { display: none; }
#admin_sidebar td, #sidebar td { padding: 0; }

#admin_sidebar td.menuitem, #admin_sidebar th.menuitem { display: block; border-left: 3px solid var(--gold-dark); }
#admin_sidebar th.menuitem { background: linear-gradient(135deg, #200040 0%, #2d0050 100%); }
#admin_sidebar th.menuitem strong { display: block; margin:0; padding: 10px 12px 6px 12px; font-size: 9pt; color: var(--gold); border-bottom: 1px solid var(--gold-dark); text-transform: uppercase; letter-spacing: 1px; }
#admin_sidebar td.menuitem a { display: block; padding: 5px 10px 5px 14px; color: var(--grey-text); background-color: var(--grey-dark); text-decoration: none; transition: background .15s, color .15s; border-bottom: 1px solid var(--grey-border); }
#admin_sidebar td.menuitem a:hover { color: var(--gold); background-color: var(--grey-mid); }

#sidebar td.menuitem, #sidebar th.menuitem { display: block; border-left: 3px solid var(--purple-mid); }
#sidebar th.menuitem { background: linear-gradient(135deg, #200040 0%, #15002a 100%); }
#sidebar th.menuitem strong { display: block; margin:0; padding: 10px 12px 6px 12px; font-size: 9pt; color: var(--gold); border-bottom: 1px solid var(--purple-mid); text-transform: uppercase; letter-spacing: 1px; }
#sidebar td.menuitem a { display: block; padding: 5px 10px 5px 14px; color: var(--grey-text); background-color: var(--grey-dark); text-decoration: none; transition: background .15s, color .15s; border-bottom: 1px solid var(--grey-border); }
#sidebar td.menuitem a:hover { color: var(--gold); background-color: var(--grey-mid); }

/* ── Login box ────────────────────────────────── */
#loginbox { margin-bottom: 12px; background: var(--grey-mid) !important; border: 1px solid var(--grey-border); border-left: 3px solid var(--purple-mid); border-radius: 4px; }
#loginbox img { display: none; }
#loginbox td { padding: 8px 12px !important; background: var(--grey-mid) !important; color: var(--grey-text); }

/* ── Content area ─────────────────────────────── */
#content { background: var(--grey-dark); border: 1px solid var(--grey-border); border-radius: 6px; overflow: hidden; }
#content img[src*="content_"] { display: none; }

/* ── Tables ───────────────────────────────────── */
.horizontal-table { border-spacing:0; border-collapse:collapse; width:100%; }
.horizontal-table th { padding: 7px 10px; background: linear-gradient(135deg, var(--purple-dark) 0%, var(--grey-light) 100%); color: var(--gold); border: 1px solid var(--grey-border); font-weight: bold; letter-spacing: .5px; }
.horizontal-table td { padding: 6px 10px; background-color: var(--grey-dark); color: var(--grey-text); border: 1px solid var(--grey-border); }
.horizontal-table tr:nth-child(even) td { background-color: var(--grey-mid); }
.horizontal-table tr:hover td { background-color: rgba(109,40,217,.15); }

.vertical-table { border-spacing:0; border-collapse:collapse; }
.vertical-table th { padding: 6px 10px; background: var(--grey-mid); color: var(--gold); border: 1px solid var(--grey-border); text-align: right; }
.vertical-table td { padding: 6px 12px; background-color: var(--grey-dark); color: var(--grey-text); border: 1px solid var(--grey-border); }
.vertical-table label { display: block; padding: 5px; }
.vertical-table form { margin: 0; padding: 0; }

/* ── Buttons ──────────────────────────────────── */
.submit_button {
	display: inline-block; margin: 8px 4px; padding: 7px 18px;
	background: linear-gradient(135deg, var(--purple-dark) 0%, var(--purple-mid) 100%);
	color: var(--gold); border: 1px solid var(--purple-mid); border-radius: 4px;
	cursor: pointer; font-weight: bold; letter-spacing: .5px; transition: all .2s;
}
.submit_button:hover {
	background: linear-gradient(135deg, var(--purple-mid) 0%, var(--purple-light) 100%);
	color: #111; border-color: var(--gold); box-shadow: 0 0 12px rgba(240,192,64,.4);
}

/* ── Sub menu ────────────────────────────────── */
#sub-menu { margin-bottom: 10px; padding: 6px 10px; background: var(--grey-mid); border: 1px solid var(--grey-border); border-left: 3px solid var(--gold-dark); border-radius: 4px; }
.current-sub-menu { font-weight: bold; color: var(--gold) !important; }

/* ── Pagination ──────────────────────────────── */
.pages { margin-top: 16px; padding-top: 10px; color: var(--grey-border); text-align: center; border-top: 1px solid var(--grey-border); }
.pages .page-prev, .pages .page-next { color: var(--purple-light); }
.pages .page-num { padding: 0 5px; }
.pages .current-page { color: var(--gold); font-weight: bold; }

/* ── Status ───────────────────────────────────── */
.red { display: block; padding: 10px 14px; font-weight: bold; color: #fff; background-color: #5a1010; border-left: 4px solid #e53e3e; border-radius: 4px; margin-bottom: 6px; }
.green { display: block; padding: 10px 14px; font-weight: bold; color: #fff; background-color: #0e3e1a; border-left: 4px solid #38a169; border-radius: 4px; margin-bottom: 6px; }
.up { font-weight: bold; color: #68d391; text-transform: uppercase; }
.down { color: #fc8181; text-transform: uppercase; }

.note { padding: 6px 10px; color: var(--grey-text); background-color: var(--grey-mid); border: 1px solid var(--grey-border); border-radius: 4px; font-style: italic; }
.keyword { color: var(--gold); font-style: italic; }
.request, .fs-path { display: inline-block; padding: 2px 5px; font-family: Monaco, "Lucida Console", monospace; font-size: 8pt; background-color: var(--grey-mid); border: 1px solid var(--grey-border); border-radius: 3px; color: var(--gold-light); }
.td-checkbox { text-align: center; }
.td-action { color: var(--grey-border); text-align: center; }
.vertical-table .td-action { text-align: right; }
.not-applicable { color: var(--grey-border); }

/* ── Install ──────────────────────────────────── */
.install_table th, .install_table td { padding: 5px 10px; border: 1px solid var(--grey-border); }
.install_table th { background-color: var(--grey-mid); color: var(--gold); }
.install_table td { background-color: var(--grey-dark); width: 180px; text-align: center; }
.created { color: #68d391; width: 80px; }
.missing { color: #fc8181; width: 80px; }

/* ── News ─────────────────────────────────────── */
.newsDiv { margin-bottom: 12px; }
.newsCont { padding: 10px 14px; background: var(--grey-mid); border: 1px solid var(--grey-border); border-left: 3px solid var(--purple-mid); border-radius: 0 4px 4px 0; margin-bottom: 14px; }
.newsDate { color: var(--gold-dark); font-size: 8pt; }
.news_link { color: var(--purple-light); }

/* ── Footer ───────────────────────────────────── */
#copyright { padding-top: 8px; color: var(--grey-border); font-size: 8pt; }
#copyright a { color: var(--purple-light); }
#info { font-size: 8pt; color: var(--grey-border); padding-top: 4px; }

/* ── Scrollbars ───────────────────────────────── */
::-webkit-scrollbar { width: 8px; background: var(--grey-darkest); }
::-webkit-scrollbar-thumb { background: var(--purple-mid); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold-dark); }

/* ── Header band (table cell) ─────────────────── */
#header-band {
	background: linear-gradient(135deg, #090010 0%, #3b0764 45%, #200040 70%, #090010 100%);
	border-bottom: 2px solid var(--gold-dark);
}
#site-title {
	font-size: 22pt; font-weight: bold;
	color: var(--gold);
	text-shadow: 0 0 18px rgba(240,192,64,0.5), 0 0 4px rgba(240,192,64,0.8);
	letter-spacing: 3px;
	font-family: "Segoe UI", Georgia, serif;
}
#site-subtitle {
	font-size: 8pt; color: var(--purple-light);
	letter-spacing: 4px; text-transform: uppercase; margin-top: 2px;
}

/* ── Server status cards ──────────────────────── */
.srv-status-wrap {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.srv-card {
	display: inline-block;
	padding: 8px 12px;
	border-radius: 6px;
	border: 1px solid var(--grey-border);
	background: rgba(0,0,0,0.35);
	backdrop-filter: blur(4px);
	min-width: 110px;
	text-align: center;
	position: relative;
	transition: box-shadow 0.2s;
}

.srv-all-up {
	border-color: #2d6a3f;
	box-shadow: 0 0 10px rgba(72,187,120,0.25), inset 0 0 20px rgba(72,187,120,0.05);
}
.srv-partial {
	border-color: #7a5c00;
	box-shadow: 0 0 10px rgba(236,201,75,0.2), inset 0 0 20px rgba(236,201,75,0.05);
}
.srv-all-down {
	border-color: #6b1515;
	box-shadow: 0 0 10px rgba(245,101,101,0.2), inset 0 0 20px rgba(245,101,101,0.05);
}

.srv-name {
	font-size: 9pt;
	font-weight: bold;
	color: var(--gold);
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 6px;
	border-bottom: 1px solid var(--grey-border);
	padding-bottom: 4px;
}

.srv-indicators {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	margin-bottom: 6px;
}

.srv-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}

.dot-up {
	background: #68d391;
	box-shadow: 0 0 6px #68d391, 0 0 10px rgba(104,211,145,0.6);
	animation: pulse-green 2.5s ease-in-out infinite;
}

.dot-down {
	background: #fc8181;
	box-shadow: 0 0 6px #fc8181;
}

.srv-dot-label {
	font-size: 7pt;
	color: var(--grey-border);
	margin-right: 5px;
	line-height: 1;
}

.srv-players {
	font-size: 8pt;
	color: var(--grey-text);
}

.srv-players-icon {
	color: var(--gold-dark);
	font-size: 7pt;
}

@keyframes pulse-green {
	0%, 100% { box-shadow: 0 0 4px #68d391, 0 0 8px rgba(104,211,145,0.5); }
	50%       { box-shadow: 0 0 8px #68d391, 0 0 16px rgba(104,211,145,0.8); }
}

/* ── Server status log page (EdiRo26/server/status.php) ─── */
.slog-card {
	margin-bottom: 16px; padding: 14px 18px;
	background: var(--grey-dark); border: 1px solid var(--grey-border);
	border-radius: 6px;
}
.slog-up    { border-left: 4px solid #48bb78; }
.slog-partial { border-left: 4px solid var(--gold-dark); }
.slog-down  { border-left: 4px solid #fc8181; }

.slog-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.slog-servername  { font-size: 13pt; font-weight: bold; color: var(--gold); letter-spacing: 1px; }
.slog-overall     { font-size: 8pt; font-weight: bold; padding: 3px 10px; border-radius: 10px; letter-spacing: 1px; }
.slog-tag-up      { background: rgba(72,187,120,0.15); color: #68d391; border: 1px solid #2d6a3f; }
.slog-tag-partial { background: rgba(236,201,75,0.15); color: var(--gold); border: 1px solid var(--gold-dark); }
.slog-tag-down    { background: rgba(252,129,129,0.15); color: #fc8181; border: 1px solid #6b1515; }

.slog-indicators { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; flex-wrap: wrap; }
.slog-ind     { display: flex; align-items: center; gap: 5px; }
.slog-dot     { display: inline-block; width: 11px; height: 11px; border-radius: 50%; }
.ind-up .slog-dot  { background: #68d391; box-shadow: 0 0 6px rgba(104,211,145,0.7); animation: pulse-green 2.5s infinite; }
.ind-down .slog-dot { background: #fc8181; box-shadow: 0 0 4px rgba(252,129,129,0.5); }
.slog-ind-label { font-size: 8pt; color: var(--grey-border); }
.slog-ind-state { font-size: 8pt; font-weight: bold; }
.ind-up .slog-ind-state  { color: #68d391; }
.ind-down .slog-ind-state { color: #fc8181; }

.slog-players-block { margin-left: auto; text-align: right; }
.slog-players-num   { font-size: 18pt; font-weight: bold; color: var(--gold); line-height: 1; }
.slog-players-label { display: block; font-size: 7pt; color: var(--grey-border); text-transform: uppercase; letter-spacing: 1px; }

.slog-since       { font-size: 8pt; color: var(--grey-text); border-top: 1px dotted var(--grey-border); padding-top: 7px; }
.slog-since-down  { color: #fc8181; }
.slog-uptime      { color: var(--gold-dark); margin-left: 6px; }

/* Log table */
.slog-table { margin-top: 6px; }
.slog-row-up      td { background-color: rgba(72,187,120,0.04) !important; }
.slog-row-partial td { background-color: rgba(236,201,75,0.04) !important; }
.slog-row-down    td { background-color: rgba(252,129,129,0.06) !important; }

.slog-mini-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 2px; vertical-align: middle; }
.slog-mini-dot.dot-up   { background: #68d391; box-shadow: 0 0 4px rgba(104,211,145,0.6); }
.slog-mini-dot.dot-down { background: #fc8181; }

.slog-change-badge { display: inline-block; font-size: 7pt; font-weight: bold; padding: 2px 7px; border-radius: 10px; margin: 1px 2px; letter-spacing: .5px; }
.badge-up   { background: rgba(72,187,120,0.15); color: #68d391; border: 1px solid #2d6a3f; }
.badge-down { background: rgba(252,129,129,0.15); color: #fc8181; border: 1px solid #6b1515; }
