:root {
    --lime: #B7F001;
    --lime-deep: #9ED100;
    --teal: #00272C;
    --blue: #162DFB;
    --bg: #001A1E;
    --surface: #04313A;
    --surface-2: #063C46;
    --line: rgba(183, 240, 1, .12);
    --line-soft: rgba(255, 255, 255, .08);
    --txt: #EAF6F1;
    --txt-dim: #8FB0AE;
    --txt-faint: #5E807E;
    --ok: #B7F001;
    --warn: #F5B638;
    --dead: #5E807E;
    --info: #7FA8FF;
    --danger: #ff6b6b;
    --shadow: 0 24px 60px -20px rgba(0, 0, 0, .6);
    --mono: 'IBM Plex Mono', ui-monospace, monospace;
}
* { box-sizing: border-box; }
html { position: relative; min-height: 100%; font-size: 15px; scroll-behavior: smooth; }
body { min-height: 100vh; margin: 0; background: var(--bg); color: var(--txt); font-family: 'Inter', system-ui, sans-serif; line-height: 1.5; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { color: var(--txt); font-family: 'Space Grotesk', sans-serif; font-weight: 700; letter-spacing: -.02em; }
h1 { margin-bottom: 2rem; text-align: center; font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.05; }
h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); }
h3 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
a { color: var(--lime); text-decoration: none; cursor: pointer; }
a:hover { color: var(--lime-deep); }
label, .control-label { color: var(--txt-dim); font-size: .82rem; font-weight: 600; }
hr { border-color: var(--line-soft); opacity: 1; }
::selection { background: var(--lime); color: var(--teal); }
.form-control, .form-select { min-height: 44px; border: 1px solid var(--line-soft); border-radius: 10px; background-color: var(--surface); color: var(--txt); }
.form-control:focus, .form-select:focus { border-color: var(--lime); background-color: var(--surface); color: var(--txt); box-shadow: 0 0 0 3px rgba(183, 240, 1, .12); }
.form-control:disabled, .form-control[readonly] { background: var(--surface-2); color: var(--txt-dim); }
.form-select option { background: var(--surface); color: var(--txt); }
.btn { min-height: 42px; border-radius: 10px; padding: .65rem 1.1rem; font-weight: 600; transition: .16s; }
.btn-primary, .btn-success { border-color: var(--lime); background: var(--lime); color: var(--teal); }
.btn-primary:hover, .btn-success:hover { border-color: var(--lime-deep); background: var(--lime-deep); color: var(--teal); transform: translateY(-1px); }
.btn-secondary { border: 1px solid var(--line); background: var(--surface-2); color: var(--txt); }
.btn-secondary:hover { border-color: var(--lime); background: var(--surface-2); color: var(--lime); }
.btn-info { border-color: var(--blue); background: var(--blue); color: #fff; }
.btn-warning { border-color: var(--warn); background: var(--warn); color: var(--teal); }
.alert { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--txt); }
.text-success { color: var(--ok) !important; }
.text-info { color: var(--info) !important; }
.text-warning { color: var(--warn) !important; }
.text-secondary, .text-muted { color: var(--txt-faint) !important; }
.text-danger { color: var(--danger) !important; }
.badge.bg-success { background: var(--lime) !important; color: var(--teal); }
.badge.bg-primary { background: var(--blue) !important; }
.badge.bg-warning { background: var(--warn) !important; color: var(--teal); }
.badge.bg-secondary { background: var(--surface-2) !important; color: var(--txt-dim); }
.card, .fieldset-group { border: 1px solid var(--line-soft); border-radius: 16px; background: var(--surface); color: var(--txt); box-shadow: none; }
.max-300 { max-width: 300px; }
.centered, .col-centered { text-align: center; justify-content: center; }
.justoneline { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.linkNoUnderline, .x { color: inherit; text-decoration: none; cursor: pointer; }
.right-justified { display: flex; width: 100%; justify-content: flex-end; text-align: right; }
@media (max-width: 767px) { .hidden-mobile { display: none; } input, button, select { font-size: 16px !important; } h1 { margin-bottom: 1.4rem; } }
