:root {
    color-scheme: dark;
}

body {
    background-color: #020617;
    color: #f8fafc;
}

.bg-slate-950 { background-color: #020617 !important; }
.bg-slate-950\/70 { background-color: rgba(2, 6, 23, 0.7) !important; }
.bg-slate-950\/80 { background-color: rgba(2, 6, 23, 0.8) !important; }
.bg-slate-950\/60 { background-color: rgba(2, 6, 23, 0.6) !important; }
.bg-slate-950\/40 { background-color: rgba(2, 6, 23, 0.4) !important; }
.bg-slate-950\/95 { background-color: rgba(2, 6, 23, 0.95) !important; }
.bg-slate-900\/80 { background-color: rgba(15, 23, 42, 0.8) !important; }
.bg-white\/5 { background-color: rgba(255, 255, 255, 0.05) !important; }
.bg-white\/10 { background-color: rgba(255, 255, 255, 0.1) !important; }
.bg-white\/20 { background-color: rgba(255, 255, 255, 0.2) !important; }
.hover\:bg-slate-900\/80:hover { background-color: rgba(15, 23, 42, 0.8) !important; }

.text-slate-100 { color: #f1f5f9 !important; }
.text-slate-200 { color: #e2e8f0 !important; }
.text-slate-300 { color: #cbd5f5 !important; }
.text-slate-400 { color: #94a3b8 !important; }
.text-slate-500 { color: #64748b !important; }
.text-white { color: #ffffff !important; }
.text-fg-danger-strong { color: #fca5a5 !important; }

.border-white\/5 { border-color: rgba(255, 255, 255, 0.05) !important; }
.border-white\/10 { border-color: rgba(255, 255, 255, 0.1) !important; }
.border-white\/15 { border-color: rgba(255, 255, 255, 0.15) !important; }
.border-white\/20 { border-color: rgba(255, 255, 255, 0.2) !important; }
.border-danger-subtle { border-color: rgba(239, 68, 68, 0.65) !important; }

.bg-danger-soft { background-color: rgba(239, 68, 68, 0.25) !important; }
.sidebar_notif {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.50rem;
    height: 1.50rem;
    border-radius: 9999px;
    color: #fca5a5 !important;
    background-color: rgba(239, 68, 68, 0.25) !important;
    border-color: rgba(239, 68, 68, 0.65) !important;
    box-shadow: inset 0 0 10px rgba(248, 113, 113, 0.45);
}

.shadow-2xl { box-shadow: 0 25px 50px -12px rgba(2, 6, 23, 0.8) !important; }

#app-sidebar { background-color: rgba(255, 255, 255, 0.05) !important; }
.icon-settings {
    display: inline-block;
    background-color: currentColor;
    -webkit-mask: url('/static/assets/setting_icon.svg') center/contain no-repeat;
    mask: url('/static/assets/setting_icon.svg') center/contain no-repeat;
}

.tag-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    padding: 0.08rem 0.45rem;
    border-width: 1px;
    border-style: solid;
    font-size: 0.5rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #e2e8f0;
    background-color: rgba(148, 163, 184, 0.32);
    border-color: rgba(148, 163, 184, 0.55);
}

.client-type-chip {
    --client-type-color: #38bdf8;
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    border-width: 1px;
    border-style: solid;
    color: var(--client-type-color);
    background-color: rgba(56, 189, 248, 0.2);
    border-color: rgba(56, 189, 248, 0.5);
    background-color: color-mix(in srgb, var(--client-type-color) 24%, transparent);
    border-color: color-mix(in srgb, var(--client-type-color) 58%, transparent);
    box-shadow: inset 0 0 12px color-mix(in srgb, var(--client-type-color) 22%, transparent);
}

@keyframes inbox-skeleton-pulse-dark {
    0% { opacity: 0.35; }
    50% { opacity: 0.75; }
    100% { opacity: 0.35; }
}

.tag-chip--skeleton {
    min-height: 1.25rem;
    min-width: 3.4rem;
    color: transparent;
    border-color: transparent;
    background-color: rgba(255, 255, 255, 0.12);
    animation: inbox-skeleton-pulse-dark 1.4s ease-in-out infinite;
}

.tag-chip--skeleton.tag-chip--wide {
    min-width: 4.5rem;
}

.tag-chip--skeleton.tag-chip--short {
    min-width: 2.7rem;
}

.inbox-tags-skeleton {
    max-width: 100%;
    overflow: hidden;
}

.text-line-skeleton {
    display: block;
    height: 0.65rem;
    border-radius: 9999px;
    background-color: rgba(248, 250, 252, 0.12);
    animation: inbox-skeleton-pulse-dark 1.4s ease-in-out infinite;
    max-width: 90%;
}

.text-line-skeleton--label {
    height: 0.85rem;
    max-width: 45%;
}

.text-line-skeleton--wide {
    max-width: 85%;
}

.text-line-skeleton--medium {
    max-width: 70%;
}

.text-line-skeleton--short {
    max-width: 55%;
}

.tag-chip--compact {
    padding: 0.06rem 0.35rem;
    font-size: 0.42rem;
}

.tag-chip[data-tag-tone="writing"] {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.02em;
}

.search-score-badge {
    color: #fef3c7;
    background-color: rgba(245, 158, 11, 0.16);
    border: 1px solid rgba(251, 191, 36, 0.36);
}

.inbox-writing {
    font-family: 'Reenie Beanie', 'Handlee', 'Caveat', 'Courier New', cursive;
    font-size: 0.8rem;
    line-height: 1.75;
    letter-spacing: 0.04em;
    padding-bottom: 0.2rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.inbox-title {
    display: block;
    min-height: 2.4rem;
}

.inbox-tags {
    max-height: 3rem;
    overflow: hidden;
}
