:root {
    --energy: #33e0e6;
    --energy-bright: #6ff2f2;
    --energy-dim: #1c8f97;
    --bg: #0b0f16;
    --bg-2: #0e131c;
    --panel: #111927;
    --line: rgba(51, 224, 230, 0.22);
    --line-soft: rgba(51, 224, 230, 0.10);
    --text: #cdd9e6;
    --text-dim: #7d8b9c;
    --danger: #ff5a6a;
    --tier-purple: #b57bff;
    --tier-teal: #2fd4b8;
    --tier-blue: #4a86e8;
    --font-body: 'Rajdhani', sans-serif;
    --font-brand: 'Orbitron', sans-serif;
    --clip: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}

html, body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    background-color: #0b0f16;
    color: #cdd9e6;
    font-family: 'Rajdhani', sans-serif;
    letter-spacing: 0.3px;
}

body {
    background-image: linear-gradient(rgba(51, 224, 230, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(51, 224, 230, 0.03) 1px, transparent 1px);
    background-size: 46px 46px;
    background-attachment: fixed;
}

    body::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(0,0,0,0.12) 3px 4px);
        opacity: 0.4;
    }

/* Faint grayscale Australian flag watermark (element rendered in App.razor) */
.wf-watermark {
    position: fixed;
    right: 2%;
    top: 50%;
    transform: translateY(-50%);
    width: 620px;
    max-width: 44vw;
    opacity: 0.05;
    z-index: 0;
    pointer-events: none;
    filter: grayscale(1) contrast(1.1);
}

/* Angular energy shape on tabs + buttons */
.tab,
.apply-btn, .save-only-btn, .add-btn, .remove-btn, .delete-btn,
.edit-btn, .cancel-btn, .save-btn, .primary-btn, .load-btn,
.pick-btn, .clear-btn, .send-btn, .confirm-yes, .confirm-no, .btn {
    clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Holographic frosted glass on translucent panels */
input, select, textarea,
.form-input, .search-input, .filter-select, .color-input,
.data-table, .reasons-table, .dropdown-list,
.profile-card, .profile-expansion, .monitor-card, .msg-card,
.confirm-dialog, .chip, .stat, .pcard {
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
}

::selection {
    background: rgba(51, 224, 230, 0.3);
    color: #eafcfd;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #0a0e14;
}

::-webkit-scrollbar-thumb {
    background: #1c2a3a;
    border: 1px solid rgba(51, 224, 230, 0.2);
}

    ::-webkit-scrollbar-thumb:hover {
        background: #26526a;
    }

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #33e0e6;
}

.invalid {
    outline: 1px solid #ff5a6a;
}

.validation-message {
    color: #ff5a6a;
}

.blazor-error-boundary {
    background: #ff5a6a;
    padding: 1rem;
    color: #160305;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #4f5c6b;
}
