html, body {
    font-family: 'Inter', system-ui, sans-serif;
}

body {
    background: var(--bg, #F7F8F7);
    color: #11181C;
    margin: 0;
}

/* Theme variables — driven by Tweaks */
:root[data-theme="puro"] {
    --bg:        #F4F6F4;
    --side-bg:   #1FA84A;
    --side-ink:  #FFFFFF;
    --side-mute: rgba(255,255,255,.72);
    --side-hov:  rgba(255,255,255,.12);
    --side-act:  rgba(255,255,255,.18);
    --side-bor:  rgba(255,255,255,.10);
    --brand:     #138C3B;
    --brand-ink: #073D1B;
}

:root[data-theme="escuro"] {
    --bg:        #F4F6F4;
    --side-bg:   #0B3D2E;
    --side-ink:  #FFFFFF;
    --side-mute: rgba(255,255,255,.62);
    --side-hov:  rgba(255,255,255,.06);
    --side-act:  rgba(31,168,74,.20);
    --side-bor:  rgba(255,255,255,.08);
    --brand:     #1FA84A;
    --brand-ink: #073D1B;
}

:root[data-theme="claro"] {
    --bg:        #F7F8F7;
    --side-bg:   #FFFFFF;
    --side-ink:  #11181C;
    --side-mute: #677169;
    --side-hov:  #F4F6F4;
    --side-act:  #EAF7EE;
    --side-bor:  #EEF0EE;
    --brand:     #138C3B;
    --brand-ink: #073D1B;
}

:root {
    --bg:        #F7F8F7;
    --side-bg:   #FFFFFF;
    --side-ink:  #11181C;
    --side-mute: #677169;
    --side-hov:  #F4F6F4;
    --side-act:  #EAF7EE;
    --side-bor:  #EEF0EE;
    --brand:     #138C3B;
    --brand-ink: #073D1B;
}

.brand-bg   { background: var(--brand); }
.brand-text { color: var(--brand); }
.brand-ink  { color: var(--brand-ink); }
.side-bg    { background: var(--side-bg); }
.side-ink   { color: var(--side-ink); }
.side-mute  { color: var(--side-mute); }
.side-hov:hover { background: var(--side-hov); }
.side-act   { background: var(--side-act); }
.side-bor   { border-color: var(--side-bor); }

/* small UI niceties */
.nice-scroll::-webkit-scrollbar { width: 10px; height: 10px; }
.nice-scroll::-webkit-scrollbar-thumb { background: #D8DDD9; border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; }
.nice-scroll::-webkit-scrollbar-track { background: transparent; }

/* checkered swatch for transparent inks */
.checker {
    background-image:
      linear-gradient(45deg, #E2E5E2 25%, transparent 25%),
      linear-gradient(-45deg, #E2E5E2 25%, transparent 25%),
      linear-gradient(45deg, transparent 75%, #E2E5E2 75%),
      linear-gradient(-45deg, transparent 75%, #E2E5E2 75%);
    background-size: 12px 12px;
    background-position: 0 0, 0 6px, 6px -6px, -6px 0;
    background-color: #fff;
}

@keyframes fade-in {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: none; }
}
.fade-in { animation: fade-in .22s ease-out both; }

@keyframes pop-in {
    from { opacity: 0; transform: scale(.96); }
    to   { opacity: 1; transform: none; }
}
.pop-in { animation: pop-in .18s ease-out both; }

/* focus rings — global polish */
input:focus, select:focus, textarea:focus, button:focus { outline: none; }
.focus-ring:focus-within,
input.focus-ring:focus,
button.focus-ring:focus,
select.focus-ring:focus {
    box-shadow: 0 0 0 3px rgba(31,168,74,.18);
    border-color: #1FA84A;
}

/* sidebar logo wordmark — inspired (not pixel-copy) */
.wordmark {
    font-weight: 800;
    letter-spacing: -0.02em;
    font-size: 22px;
}

/* Blazor error UI */
#blazor-error-ui {
    background: #fee2e2;
    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: #991B1B;
    font-family: Inter, system-ui, sans-serif;
    font-size: 14px;
}

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

#blazor-error-ui .reload {
    color: inherit;
    text-decoration: underline;
    margin-left: 0.5rem;
}
