96 lines
4.2 KiB
PHP
96 lines
4.2 KiB
PHP
<?php // Inline CSS – included by both index.php and nodes.php ?>
|
||
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
||
|
||
:root {
|
||
--bg: #0d1117;
|
||
--surface: #161b22;
|
||
--border: #30363d;
|
||
--text: #c9d1d9;
|
||
--muted: #8b949e;
|
||
--accent: #58a6ff;
|
||
--green: #3fb950;
|
||
--red: #f85149;
|
||
--yellow: #d29922;
|
||
}
|
||
|
||
body { background: var(--bg); color: var(--text); font: 14px/1.6 'Segoe UI', system-ui, sans-serif; }
|
||
|
||
header {
|
||
display: flex; align-items: center; gap: 1.5rem;
|
||
padding: .75rem 1.5rem;
|
||
background: var(--surface); border-bottom: 1px solid var(--border);
|
||
}
|
||
header h1 { font-size: 1.1rem; font-weight: 600; color: #e6edf3; }
|
||
header h1 span { color: var(--accent); }
|
||
header nav { display: flex; gap: 1rem; margin-left: auto; }
|
||
header nav a { color: var(--muted); text-decoration: none; padding: .25rem .5rem; border-radius: 4px; }
|
||
header nav a:hover, header nav a.active { color: var(--accent); background: rgba(88,166,255,.1); }
|
||
|
||
main { max-width: 1200px; margin: 1.5rem auto; padding: 0 1rem; display: flex; flex-direction: column; gap: 1.25rem; }
|
||
|
||
.stats-row { display: flex; gap: 1rem; flex-wrap: wrap; }
|
||
.stat-card {
|
||
flex: 1 1 150px;
|
||
background: var(--surface); border: 1px solid var(--border); border-radius: 8px;
|
||
padding: 1rem 1.25rem;
|
||
}
|
||
.stat-card .label { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
|
||
.stat-card .value { font-size: 1.75rem; font-weight: 700; color: #e6edf3; margin-top: .15rem; }
|
||
|
||
.card {
|
||
background: var(--surface); border: 1px solid var(--border); border-radius: 8px;
|
||
padding: 1.25rem;
|
||
}
|
||
.card h2 { font-size: .9rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 1rem; }
|
||
|
||
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
|
||
@media (max-width: 700px) { .two-col { grid-template-columns: 1fr; } }
|
||
|
||
table { width: 100%; border-collapse: collapse; font-size: .85rem; }
|
||
th { text-align: left; color: var(--muted); font-weight: 500; padding: .4rem .6rem; border-bottom: 1px solid var(--border); }
|
||
td { padding: .4rem .6rem; border-bottom: 1px solid var(--border); vertical-align: middle; }
|
||
tr:last-child td { border-bottom: none; }
|
||
tr:hover td { background: rgba(255,255,255,.03); }
|
||
|
||
code { font-family: 'Cascadia Code', 'Fira Mono', monospace; font-size: .8rem; color: var(--accent); }
|
||
|
||
label { display: block; margin-bottom: .75rem; font-size: .85rem; color: var(--muted); }
|
||
label.inline { display: flex; align-items: center; gap: .5rem; color: var(--text); }
|
||
label input[type=text], label input[type=url], label input[type=password] {
|
||
display: block; width: 100%; margin-top: .3rem;
|
||
background: var(--bg); border: 1px solid var(--border); border-radius: 5px;
|
||
color: var(--text); padding: .45rem .6rem; font-size: .9rem;
|
||
}
|
||
label input:focus { outline: none; border-color: var(--accent); }
|
||
|
||
button[type=submit], .btn {
|
||
background: var(--accent); color: #0d1117; border: none; border-radius: 5px;
|
||
padding: .5rem 1.1rem; font-size: .9rem; font-weight: 600; cursor: pointer;
|
||
}
|
||
button[type=submit]:hover { opacity: .85; }
|
||
.link-btn { background: none; border: none; cursor: pointer; font-size: .85rem; color: var(--accent); padding: 0; }
|
||
.link-btn.danger { color: var(--red); }
|
||
|
||
.alert { padding: .65rem 1rem; border-radius: 6px; font-size: .875rem; }
|
||
.alert.ok { background: rgba(63,185,80,.15); color: var(--green); border: 1px solid rgba(63,185,80,.4); }
|
||
.alert.err { background: rgba(248,81,73,.15); color: var(--red); border: 1px solid rgba(248,81,73,.4); }
|
||
|
||
.badge { display: inline-block; font-size: .7rem; padding: .1rem .45rem; border-radius: 3px; background: var(--border); color: var(--muted); }
|
||
.badge.ok { background: rgba(63,185,80,.2); color: var(--green); }
|
||
|
||
.muted { color: var(--muted); }
|
||
.actions { white-space: nowrap; }
|
||
.actions a, .actions .link-btn { margin-right: .5rem; }
|
||
|
||
.bar-wrap { display: flex; align-items: center; gap: .5rem; }
|
||
.bar { height: 6px; background: var(--accent); border-radius: 3px; min-width: 2px; }
|
||
|
||
form { max-width: 480px; }
|
||
|
||
footer {
|
||
text-align: center; padding: 1.25rem; margin-top: 1rem;
|
||
font-size: .75rem; color: var(--muted);
|
||
border-top: 1px solid var(--border);
|
||
}
|
||
footer span { color: var(--accent); }
|