:root {
    --a4h-bg: #f3f6fa;
    --a4h-surface: #ffffff;
    --a4h-raised: #f7f9fc;
    --a4h-text: #172b43;
    --a4h-muted: #607289;
    --a4h-border: #e2e8f0;
    --a4h-accent: #087e8b;
    --a4h-accent-soft: #e6f4f4;
    --a4h-shadow: 0 8px 32px rgba(24, 45, 72, .045);
}
html[data-theme="dark"] {
    --a4h-bg: #0c1422;
    --a4h-surface: #141f30;
    --a4h-raised: #1a293d;
    --a4h-text: #e7eef8;
    --a4h-muted: #a4b4cb;
    --a4h-border: #2a3a50;
    --a4h-accent: #55cece;
    --a4h-accent-soft: #163b46;
    --a4h-shadow: 0 8px 32px rgba(0, 0, 0, .14);
}
html[data-theme] body {
    background: var(--a4h-bg) !important;
    color: var(--a4h-text);
    font-family: "Open Sans", system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}
html[data-theme] :is(h1, h2, h3, h4, h5, h6, label, .text-dark, .text-body) {
    color: var(--a4h-text) !important;
}
html[data-theme] :is(.text-secondary, .text-muted) { color: var(--a4h-muted) !important; }
html[data-theme] :is(.card, .card-header, .card-footer, .modal-content, .dropdown-menu, .list-group-item, .popover) {
    background-color: var(--a4h-surface);
    color: var(--a4h-text);
    border-color: var(--a4h-border);
}
html[data-theme] .card {
    border: 1px solid var(--a4h-border);
    border-radius: 18px;
    box-shadow: var(--a4h-shadow);
}
html[data-theme] :is(.card-header, .card-footer) { background: transparent; }
html[data-theme] .card-header { padding-top: 1.5rem; }
html[data-theme] .card-header h6 { font-size: 1.05rem; letter-spacing: -.025em; }
html[data-theme] .modal-content { border-radius: 18px; }
html[data-theme] :is(.modal-header, .modal-footer, hr, .border, .border-top, .border-bottom) { border-color: var(--a4h-border) !important; }
html[data-theme] :is(.dropdown-menu a, .dropdown-item, .popover-body) { color: var(--a4h-text); }
html[data-theme] .dropdown-item:hover { background: var(--a4h-raised); }
html[data-theme] :is(.form-control, .form-select, .input-group-text) {
    background-color: var(--a4h-surface) !important;
    color: var(--a4h-text) !important;
    border-color: var(--a4h-border) !important;
    border-radius: 10px;
}
html[data-theme] .form-control::placeholder { color: var(--a4h-muted); opacity: .85; }
html[data-theme] :is(.form-control, .form-select):focus {
    border-color: var(--a4h-accent) !important;
    box-shadow: 0 0 0 3px var(--a4h-accent-soft);
}
html[data-theme] :is(.form-control, .form-select):disabled { background: var(--a4h-raised) !important; opacity: .7; }
html[data-theme] .btn { border-radius: 10px; letter-spacing: 0; text-transform: none; }
html[data-theme] :is(.btn-primary, .bg-gradient-primary) {
    background: linear-gradient(135deg, #087e8b, #076470) !important;
    border-color: #087e8b;
    color: #fff !important;
}
html[data-theme] .btn-primary:hover { background: #076470 !important; box-shadow: 0 5px 14px rgba(8, 126, 139, .2); }
html[data-theme] .text-primary { color: var(--a4h-accent) !important; }
html[data-theme] .text-gradient.text-primary { background-image: none; -webkit-text-fill-color: currentColor; }
html[data-theme] .table { color: var(--a4h-text); border-color: var(--a4h-border); }
html[data-theme] .table thead th {
    background: var(--a4h-raised);
    color: var(--a4h-muted) !important;
    border-bottom: 1px solid var(--a4h-border);
    font-size: .68rem;
    letter-spacing: .055em;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
html[data-theme] .table :is(td, th) { border-color: var(--a4h-border) !important; }
html[data-theme] .table tbody tr:hover { background: var(--a4h-raised); }
html[data-theme] .table tbody td { padding-top: 1rem; padding-bottom: 1rem; }
html[data-theme] .nav-tabs { border-bottom: 1px solid var(--a4h-border); gap: .35rem; padding: .5rem 0; }
html[data-theme] .nav-tabs > .nav-item > a.nav-link:not(.active) {
    color: var(--a4h-muted) !important;
    background: transparent;
    border-color: transparent;
}
html[data-theme] .nav-tabs .nav-link.active {
    color: var(--a4h-accent) !important;
    background: var(--a4h-accent-soft);
    border-color: transparent;
    border-radius: 9px;
}
html[data-theme] .page-link { background: var(--a4h-surface); color: var(--a4h-text); border-color: var(--a4h-border); }
html[data-theme] .page-item.active .page-link { background: #087e8b; border-color: #087e8b; color: #fff; }
html[data-theme] .g-sidenav-show > .min-height-300.bg-primary { background: transparent !important; }
html[data-theme] #sidenav-main {
    background: var(--a4h-surface) !important;
    border: 1px solid var(--a4h-border) !important;
    box-shadow: var(--a4h-shadow);
}
html[data-theme] #sidenav-main .navbar-brand {
    background: #fff;
    border-radius: 14px;
    margin: 12px !important;
    padding: 1rem !important;
    display: flex;
    justify-content: center;
}
html[data-theme] #sidenav-main .sidenav-header { height: auto; }
html[data-theme] #sidenav-main .nav-link {
    color: var(--a4h-muted) !important;
    margin: .2rem .85rem;
    border-radius: 10px;
    padding: .7rem .8rem;
}
html[data-theme] #sidenav-main .nav-link:hover { background: var(--a4h-raised); }
html[data-theme] #sidenav-main .nav-link.active {
    background: var(--a4h-accent-soft) !important;
    color: var(--a4h-accent) !important;
    box-shadow: none;
}
html[data-theme] #sidenav-main .nav-link.active .icon { background: transparent !important; }
html[data-theme] #sidenav-main .nav-link .icon i { color: var(--a4h-accent) !important; }
html[data-theme] #sidenav-main h6 { color: var(--a4h-muted) !important; }
html[data-theme] #navbarBlur {
    min-height: 86px;
    margin-top: 1rem;
    background: var(--a4h-surface) !important;
    border: 1px solid var(--a4h-border);
    box-shadow: var(--a4h-shadow) !important;
}
html[data-theme] #navbarBlur .nav-link { color: var(--a4h-text) !important; }
html[data-theme] #navbarBlur .sidenav-toggler-line { background: var(--a4h-text) !important; }
.a4h-workspace-heading { display: flex; flex-direction: column; gap: 3px; margin-right: auto; }
.a4h-eyebrow { font-size: .6rem; font-weight: 700; letter-spacing: .17em; color: var(--a4h-muted); }
.a4h-workspace-title { font-size: 1.1rem; font-weight: 700; letter-spacing: -.03em; }
.a4h-invoice-header h5 { font-size: 1.65rem; letter-spacing: -.045em; }
.a4h-payment-legend { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; font-size: .75rem; color: var(--a4h-muted); }
.a4h-payment-legend > span { display: inline-flex; align-items: center; gap: .5rem; }
.a4h-payment-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.a4h-payment-due { background: #ef9435; }
.a4h-payment-from { background: #2cba85; }
.a4h-navbar-appearance { margin: 0 1.25rem; }
.a4h-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 40px;
    padding: .55rem .8rem;
    border: 1px solid var(--a4h-border);
    background: var(--a4h-surface);
    color: var(--a4h-text);
    border-radius: 10px;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}
.a4h-theme-toggle:hover { background: var(--a4h-raised); }
:is(.a4h-theme-toggle, .a4h-password-toggle, a, button, input):focus-visible { outline: 3px solid var(--a4h-accent); outline-offset: 3px; }
.a4h-sun, html[data-theme="dark"] .a4h-moon { display: none; }
html[data-theme="dark"] .a4h-sun { display: block; }
html[data-theme="dark"] :is(.bg-white, .bg-gray-100, .bg-gray-200, .bg-light) { background-color: var(--a4h-raised) !important; }
html[data-theme="dark"] :is(.fc, .fc a) { color: var(--a4h-text); --fc-border-color: var(--a4h-border); --fc-page-bg-color: var(--a4h-surface); --fc-neutral-bg-color: var(--a4h-raised); --fc-list-event-hover-bg-color: var(--a4h-raised); }
html[data-theme="dark"] .btn-close { filter: invert(1); }
html[data-theme="dark"] .card p { color: var(--a4h-muted) !important; opacity: 1; }
html[data-theme="dark"] .card p.text-white { color: #fff !important; }
html[data-theme="dark"] .dropdown .dropdown-menu { background: var(--a4h-surface); }
html[data-theme="dark"] .table > :not(caption) > * > * { color: var(--a4h-text) !important; border-color: var(--a4h-border) !important; }
html[data-theme="dark"] .table thead th { color: var(--a4h-muted) !important; }
html[data-theme="dark"] .btn-outline-dark { color: var(--a4h-text); border-color: var(--a4h-border); }
.a4h-auth-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 2rem; gap: 1rem; }
.a4h-auth-back { color: var(--a4h-muted); font-size: .8rem; }
.a4h-auth-layout { display: grid; grid-template-columns: 1fr 1fr; max-width: 1320px; min-height: calc(100svh - 90px); margin: 0 auto; padding: 0 2rem 2rem; gap: 2rem; }
.a4h-auth-story {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(2rem, 4vw, 4.5rem);
    border-radius: 28px;
    background: linear-gradient(150deg, #123c50 0%, #082b40 55%, #087e8b 150%);
    color: #fff;
    min-height: 650px;
}
.a4h-auth-story::before { content: ""; position: absolute; width: 430px; height: 430px; right: -200px; top: -180px; border: 1px solid #ffffff18; border-radius: 50%; box-shadow: 0 0 0 65px #ffffff04, 0 0 0 130px #ffffff04; pointer-events: none; }
.a4h-auth-brand { background: #fff; padding: 1rem 1.3rem; border-radius: 14px; width: fit-content; position: relative; }
.a4h-auth-brand img { width: 170px; max-height: 60px; object-fit: contain; }
html[data-theme] .a4h-auth-story h1 { font-size: clamp(2.3rem, 3.5vw, 3.5rem); line-height: 1.15; letter-spacing: -.055em; color: #fff !important; position: relative; }
.a4h-auth-story h1 span { color: #7be0d6; }
.a4h-auth-story p { color: #c2d7e2; font-size: .95rem; line-height: 1.8; max-width: 350px; }
.a4h-auth-kicker { text-transform: uppercase; letter-spacing: .18em; font-size: .65rem; font-weight: 700; color: #7be0d6; margin-bottom: 1.25rem; }
.a4h-auth-feature { display: flex; gap: .85rem; align-items: center; padding: 1rem 0; border-top: 1px solid #ffffff20; font-size: .82rem; }
.a4h-auth-feature svg { color: #7be0d6; flex-shrink: 0; }
.a4h-auth-form-panel { align-self: center; max-width: 440px; width: 100%; margin: 2rem auto; padding: 1.5rem; }
.a4h-auth-form-panel h2 { font-size: 2rem; letter-spacing: -.05em; margin-bottom: .75rem; }
.a4h-auth-form-panel > p { font-size: .9rem; color: var(--a4h-muted); margin-bottom: 2rem; }
.a4h-auth-badge { display: inline-block; padding: .4rem .7rem; border-radius: 7px; background: var(--a4h-accent-soft); color: var(--a4h-accent); font-size: .7rem; font-weight: 700; margin-bottom: 1.25rem; }
.a4h-auth-form-panel label { margin-left: 0; margin-bottom: .6rem; font-size: .8rem; }
.a4h-auth-form-panel .form-control { min-height: 50px; font-size: .85rem; }
.a4h-auth-form-panel .password-container { display: block; }
.a4h-auth-form-panel .password-container input { padding-right: 48px; }
.a4h-password-toggle { position: absolute; right: 5px; top: 5px; width: 40px; height: 40px; border: 0; border-radius: 7px; background: transparent; color: var(--a4h-muted); display: grid; place-items: center; }
.a4h-auth-options { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: 1.25rem 0; font-size: .75rem; }
.a4h-auth-options .form-check { margin: 0; }
.a4h-auth-options label { margin-bottom: 0; }
.a4h-auth-form-panel a { color: var(--a4h-accent); font-weight: 600; }
.a4h-auth-submit { min-height: 50px; margin-top: 1rem; }
.a4h-auth-footer { text-align: center; padding-top: 1.75rem; font-size: .8rem; color: var(--a4h-muted); }
.a4h-auth-note { text-align: center; font-size: .7rem; color: var(--a4h-muted); margin-top: 2rem; }
@media (max-width: 1199.98px) {
    #navbarBlur > .container-fluid { flex-wrap: wrap; gap: .5rem; }
    #navbarBlur #navbar { flex-basis: 100%; display: flex !important; }
    .a4h-navbar-appearance { margin-right: 0; }
}
@media (max-width: 767.98px) {
    .a4h-auth-layout { grid-template-columns: 1fr; padding: 0 1rem 1rem; gap: 0; }
    .a4h-auth-story { min-height: auto; padding: 1.5rem; border-radius: 20px; gap: 1.5rem; }
    html[data-theme] .a4h-auth-story h1 { font-size: 2rem; margin: 0; }
    .a4h-auth-story p, .a4h-auth-features, .a4h-auth-kicker { display: none; }
    .a4h-auth-brand img { width: 135px; }
    .a4h-auth-toolbar { padding: 1rem; }
    .a4h-auth-form-panel { margin: 1.5rem auto; padding: .5rem; }
    .a4h-navbar-appearance [data-theme-label] { display: none; }
    html[data-theme] #navbarBlur { margin-left: 1rem !important; margin-right: 1rem !important; }
    html[data-theme] .main-content > .container-fluid { padding-left: 1rem; padding-right: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
