:root {
    color-scheme:dark;
}

body {
    background:#101820;
    color:#edf2f7;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    font-size:1rem;
    line-height:1.6;
}

.glass-card {
    background:#19242f;
    border:1px solid #435160;
    border-radius:14px;
    color:#edf2f7;
    box-shadow:none;
}

.glow-text {
    color:#edf2f7;
    text-shadow:none;
}

.dashboard {
    max-width:880px;
}

.dashboard h1 {
    font-size:2rem;
    font-weight:700;
}

.dashboard h2,.dashboard h5 {
    font-size:1.2rem;
    font-weight:650;
    margin-bottom:1rem;
}

.eyebrow {
    color:#9db3c9;
    font-size:.85rem;
    letter-spacing:.08em;
    margin-bottom:.35rem;
}

.status-active {
    color:#8de3b6;
    font-weight:600;
}

.text-white-50,.text-muted {
    color:#b8c3cf!important;
}

.actions {
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
}

.btn {
    min-height:42px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    white-space:normal;
}

.form-control,.form-select {
    background-color:#111b24;
    color:#edf2f7;
    border-color:#667687;
    min-height:44px;
}

.form-control:focus,.form-select:focus {
    background:#111b24;
    color:#fff;
}

.form-control[readonly] {
    background:#111b24;
}

.period-form select {
    width:auto;
    min-width:110px;
}

.invoice-details {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,2fr);
    gap:.5rem 1rem;
}

.invoice-details dt {
    color:#b8c3cf;
    font-weight:400;
}

.invoice-details dd {
    margin:0;
}

.dashboard input,.dashboard dd,.navbar-text {
    min-width:0;
    overflow-wrap:anywhere;
}

.navbar>.container {
    gap:.5rem;
}

.navbar-nav {
    flex-direction:row;
    flex-wrap:wrap;
    gap:.3rem 1rem;
}

.navbar-text {
    max-width:100%;
}

.dashboard .table {
    font-size:.85rem;
}

.dashboard td {
    overflow-wrap:anywhere;
}

.copy-feedback:not(:empty) {
    position:fixed;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
    background:#e6f4ef;
    color:#10251c;
    padding:.7rem 1rem;
    border-radius:8px;
    max-width:90vw;
    z-index:1090;
    box-shadow:0 2px 10px #0008;
}

:focus-visible {
    outline:3px solid #a4d7ff!important;
    outline-offset:3px;
}

.skip-link {
    position:absolute;
    left:1rem;
    top:-100px;
    z-index:2000;
    background:white;
    color:black;
    padding:.5rem;
}

.skip-link:focus {
    top:1rem;
}

a {
    overflow-wrap:anywhere;
}

[hidden] {
    display:none!important;
}

@media(max-width:575px) {
    .dashboard .card-body {
        padding:1rem!important;
    }
    .navbar-brand {
        width:100%;
    }
    .navbar-nav {
        font-size:.9rem;
    }
    .navbar-text {
        width:100%;
    }
    .invoice-details {
        grid-template-columns:1fr;
        gap:.15rem;
    }
    .invoice-details dd {
        margin-bottom:.65rem;
    }
    .input-group>.btn {
        max-width:45%;
        font-size:.85rem;
    }
    .dashboard .table-responsive {
        overflow-x:auto;
    }
    .actions>.btn {
        flex-grow:1;
    }
}

@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important;
    }
}
