:root{
    --ld-navy:#0B1D34;
    --ld-navy-2:#07111F;
    --ld-gold:#C9A76B;
    --ld-gold-soft:#F8E9C8;
    --ld-bg:#F7F7F5;
    --ld-bg-2:#EEF0F3;
    --ld-card:#FFFFFF;
    --ld-line:#E6E6E6;
    --ld-text:#0B1D34;
    --ld-muted:#64748B;
    --ld-green:#DCFCE7;
    --ld-green-text:#166534;
    --ld-red:#FEE2E2;
    --ld-red-text:#991B1B;
    --ld-blue:#DBEAFE;
    --ld-blue-text:#1D4ED8;
    --ld-radius:22px;
    --ld-radius-sm:14px;
    --ld-shadow:0 18px 48px rgba(15,23,42,.08);
    --ld-shadow-soft:0 10px 30px rgba(15,23,42,.06);
    --ld-font:Inter, Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--ld-bg-2);
    color:var(--ld-text);
    font-family:var(--ld-font);
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}

::selection{
    background:var(--ld-gold);
    color:var(--ld-navy);
}

a{
    color:inherit;
}

.ld-brand-logo{
    display:block;
    width:100%;
    max-width:250px;
    height:auto;
}

.ld-brand-logo-sm{
    display:block;
    width:180px;
    max-width:100%;
    height:auto;
}

.ld-brand-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    display:inline-block;
    vertical-align:middle;
}

.ld-text-gold{
    color:var(--ld-gold);
}

.ld-page-bg{
    background:
        radial-gradient(circle at top right, rgba(201,167,107,.10), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, var(--ld-bg) 100%);
}

.ld-card,
.card,
.panel,
.stat-card,
.kpi-card,
.content-card{
    border-radius:var(--ld-radius);
    border:1px solid rgba(230,230,230,.95);
    background:var(--ld-card);
    box-shadow:var(--ld-shadow-soft);
}

.ld-btn,
.btn{
    border-radius:14px;
    font-weight:900;
    letter-spacing:-.01em;
}

.ld-btn-primary,
.btn-dark,
.btn-primary,
button.btn-dark,
a.btn-dark{
    background:var(--ld-navy-2) !important;
    color:#fff !important;
    border:1px solid rgba(201,167,107,.22) !important;
    box-shadow:0 12px 28px rgba(11,29,52,.16);
}

.ld-btn-primary:hover,
.btn-dark:hover,
.btn-primary:hover,
a.btn-dark:hover{
    background:var(--ld-navy) !important;
    transform:translateY(-1px);
}

.ld-btn-gold,
.btn-gold{
    background:var(--ld-gold) !important;
    color:var(--ld-navy) !important;
    border:1px solid rgba(201,167,107,.35) !important;
}

.ld-btn-outline,
.btn-light,
.btn-outline{
    background:#fff !important;
    color:var(--ld-navy) !important;
    border:1px solid rgba(11,29,52,.12) !important;
}

.ld-btn-outline-gold{
    background:#fff !important;
    color:#8A6729 !important;
    border:1px solid rgba(201,167,107,.72) !important;
}

.badge,
.ld-badge{
    border-radius:999px;
    font-weight:900;
    padding:.42rem .7rem;
}

.badge-dark,
.ld-badge-dark{
    background:var(--ld-navy) !important;
    color:#fff !important;
}

.badge-gold,
.ld-badge-gold{
    background:var(--ld-gold-soft) !important;
    color:#8A6729 !important;
}

.badge-green,
.ld-badge-green{
    background:var(--ld-green) !important;
    color:var(--ld-green-text) !important;
}

.badge-blue,
.ld-badge-blue{
    background:var(--ld-blue) !important;
    color:var(--ld-blue-text) !important;
}

input,
select,
textarea{
    border-radius:14px;
    border:1px solid #CBD5E1;
    background:#fff;
}

input:focus,
select:focus,
textarea:focus{
    outline:none;
    border-color:var(--ld-gold);
    box-shadow:0 0 0 4px rgba(201,167,107,.14);
}

table{
    border-collapse:separate;
    border-spacing:0;
}

th{
    color:#5B6B82;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

td{
    color:var(--ld-text);
}

.sidebar,
.app-sidebar,
aside.sidebar,
aside.app-sidebar{
    background:
        radial-gradient(circle at top left, rgba(201,167,107,.16), transparent 30%),
        linear-gradient(180deg, #0B1D34 0%, #07111F 100%) !important;
    color:#fff;
}

.sidebar a,
.app-sidebar a,
aside.sidebar a,
aside.app-sidebar a{
    color:rgba(255,255,255,.88);
}

.sidebar a.active,
.sidebar .active,
.app-sidebar a.active,
.app-sidebar .active,
aside.sidebar a.active,
aside.sidebar .active,
aside.app-sidebar a.active,
aside.app-sidebar .active{
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
    border-radius:16px;
}

.sidebar .logout,
.app-sidebar .logout,
.sidebar .btn-logout,
.app-sidebar .btn-logout{
    border:1px solid rgba(201,167,107,.55) !important;
    color:var(--ld-gold) !important;
}

.progress,
.progress-bar-wrap{
    background:#E5E7EB;
    border-radius:999px;
    overflow:hidden;
}

.progress-bar,
.usage-bar{
    background:var(--ld-navy) !important;
    border-radius:999px;
}

.alert-success{
    background:#ECFDF5;
    color:#166534;
    border:1px solid #BBF7D0;
    border-radius:16px;
}

.alert-error,
.alert-danger{
    background:#FEF2F2;
    color:#991B1B;
    border:1px solid #FECACA;
    border-radius:16px;
}

.alert-warning{
    background:#FFFBEB;
    color:#92400E;
    border:1px solid #FDE68A;
    border-radius:16px;
}

/* LegalDesk internal app branding */
.ld-sidebar-brand{
    display:flex;
    align-items:center;
    width:100%;
    text-decoration:none !important;
    margin:0 0 22px;
    padding:4px 0 18px;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.ld-sidebar-brand svg{
    display:block;
    width:205px;
    max-width:100%;
    height:auto;
}

.sidebar,
.app-sidebar,
aside.sidebar,
aside.app-sidebar,
.legaldesk-sidebar{
    background:
        radial-gradient(circle at top left, rgba(201,167,107,.16), transparent 32%),
        linear-gradient(180deg, #0B1D34 0%, #07111F 100%) !important;
    color:#fff !important;
}

.sidebar a,
.app-sidebar a,
aside.sidebar a,
aside.app-sidebar a,
.legaldesk-sidebar a{
    color:rgba(255,255,255,.86) !important;
    text-decoration:none;
}

.sidebar a:hover,
.app-sidebar a:hover,
aside.sidebar a:hover,
aside.app-sidebar a:hover,
.legaldesk-sidebar a:hover{
    color:#fff !important;
}

.sidebar .active,
.sidebar a.active,
.app-sidebar .active,
.app-sidebar a.active,
aside.sidebar .active,
aside.sidebar a.active,
aside.app-sidebar .active,
aside.app-sidebar a.active,
.legaldesk-sidebar .active,
.legaldesk-sidebar a.active{
    background:rgba(255,255,255,.11) !important;
    color:#fff !important;
    border-radius:16px !important;
}

.sidebar .active svg,
.app-sidebar .active svg,
.legaldesk-sidebar .active svg{
    color:#C9A76B !important;
}

.sidebar [class*="logout"],
.app-sidebar [class*="logout"],
.legaldesk-sidebar [class*="logout"]{
    border-color:rgba(201,167,107,.60) !important;
    color:#C9A76B !important;
}

.sidebar button,
.app-sidebar button,
.legaldesk-sidebar button{
    font-family:var(--ld-font);
}

body{
    font-family:var(--ld-font);
}

main,
.app-main,
.page-content,
.content{
    background:#EEF0F3;
}


