@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

/* Jetons communs (thèmes sombre et clair) */
:root {
    --rf-border: color-mix(in srgb, var(--bs-body-color) 14%, transparent);
    --rf-border-strong: color-mix(in srgb, var(--bs-body-color) 35%, transparent);
    --rf-surface: color-mix(in srgb, var(--bs-body-color) 4%, transparent);
    --rf-muted: color-mix(in srgb, var(--bs-body-color) 60%, transparent);
}

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    overscroll-behavior-y: contain;
}

a, .btn-link {
    color: #0366d6;
}

/*.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}*/

.content {
    padding-top: 1.1rem;
}

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

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    color: black;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }


/* QR code generator */
#qrCode {
    margin: 15px;
}
    #qrCode img {
        border-width: 3px;
        border-style: solid;
        border-color: white;
    }



footer {
    overflow: hidden !important;
}

input[type="checkbox"] {
    height: 1.3em;
    width: 1.3em;
}

input[disabled], input[readonly], select[disabled] {
    background-color: var(--rf-surface) !important;
    border-color: var(--rf-border);
    color: var(--bs-body-color);
}

.pointer {
    cursor: pointer;
}

#components-reconnect-modal {
    color: black;
}

/* Harmonisation de l'interface */
.content h3 {
    font-weight: 600;
    margin-bottom: 1rem;
}

.form-group {
    margin-bottom: 1rem;
}

    .form-group > label, label.control-label, .field-label {
        color: var(--rf-muted);
        font-size: .85rem;
        font-weight: 600;
    }

.card {
    border: 1px solid var(--rf-border);
    border-radius: .5rem;
}

    .card > .card-header {
        background: var(--rf-surface);
        border-bottom: 1px solid var(--rf-border);
    }

.table {
    --bs-table-border-color: var(--rf-border);
}

    .table > thead th {
        color: var(--rf-muted);
        font-size: .85rem;
        font-weight: 600;
    }

.nav-tabs {
    --bs-nav-tabs-border-color: var(--rf-border);
}

/* Compteurs (accueil, configuration du serveur) */
.device-counters {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: .5rem;
}

.counter {
    --counter-color: var(--bs-gray);
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .2rem .75rem;
    border: 1px solid var(--rf-border);
    border-radius: 1rem;
    background: var(--rf-surface);
    color: var(--bs-body-color);
    font-size: .85rem;
}

    button.counter:hover {
        border-color: var(--counter-color);
    }

    .counter.active {
        border-color: var(--counter-color);
        background: color-mix(in srgb, var(--counter-color) 20%, transparent);
    }

    .counter strong {
        color: var(--counter-color);
    }

    .counter .dot {
        width: .55rem;
        height: .55rem;
        border-radius: 50%;
        background: var(--counter-color);
    }

.counter-online {
    --counter-color: var(--bs-success);
}

.counter-outdated, .counter-disk {
    --counter-color: var(--bs-warning);
}
