:root{
    --sage:#8ba795;
    --sage-dark:#587161;
    --sage-deep:#31443a;
    --beige:#f5efe5;
    --sand:#e7ddcf;
    --cream:#fcfaf6;
    --text:#243229;
    --muted:#6d7b72;
    --surface:#ffffff;
    --bg:#f7f5f1;
    --line:rgba(64,82,71,.10);
    --line-strong:rgba(64,82,71,.16);
    --shadow-xs:0 8px 24px rgba(37,51,45,.06);
    --shadow:0 16px 44px rgba(37,51,45,.09);
    --shadow-lg:0 22px 70px rgba(37,51,45,.12);
    --radius-sm:.9rem;
    --radius:1.25rem;
    --radius-lg:1.65rem;
    --transition:all .24s ease;
}
html{
    scroll-behavior:smooth;
}
body{
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    color:var(--text);
    background:
        radial-gradient(circle at top left, rgba(139,167,149,.11), transparent 28%),
        linear-gradient(180deg, #fbfaf7 0%, #f7f5f1 100%);
    line-height:1.65;
}
body.public-body{
    min-height:100vh;
}
body.admin-body,
body.member-body{
    min-height:100vh;
}
h1,h2,h3,h4,h5,h6{
    color:#223028;
    line-height:1.2;
    letter-spacing:-.02em;
}
p:last-child{
    margin-bottom:0;
}
a{
    color:var(--sage-dark);
    text-decoration:none;
    transition:var(--transition);
}
a:hover{
    color:#42574d;
}
img{
    max-width:100%;
}
main{
    position:relative;
}
::selection{
    background:rgba(88,113,97,.18);
}
.container{
    position:relative;
    z-index:1;
}
body.public-body .container{
    width:100%;
    max-width:1380px;
    padding-left:1rem;
    padding-right:1rem;
}
.section-title{
    max-width:700px;
    margin-bottom:1.75rem;
}
.section-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:var(--sage-dark);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.74rem;
    font-weight:800;
}
.section-eyebrow::before{
    content:"";
    width:42px;
    height:1px;
    background:rgba(88,113,97,.4);
}
.text-muted{
    color:var(--muted) !important;
}

/* Buttons */
.btn{
    border-radius:999px;
    padding:.8rem 1.2rem;
    font-weight:600;
    letter-spacing:.01em;
    transition:var(--transition);
}
.btn-sm{
    padding:.58rem .95rem;
}
.btn-lg{
    padding:.95rem 1.4rem;
}
.btn-brand{
    background:linear-gradient(135deg, var(--sage-dark), #6f8c7a);
    color:#fff;
    border:1px solid rgba(88,113,97,.8);
    box-shadow:0 12px 28px rgba(88,113,97,.22);
}
.btn-brand:hover,
.btn-brand:focus{
    background:linear-gradient(135deg, #4d6355, #627b6d);
    border-color:#4d6355;
    color:#fff;
    transform:translateY(-1px);
}
.btn-outline-secondary{
    border-color:rgba(88,113,97,.24);
    color:var(--sage-dark);
    background:#fff;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus{
    background:var(--beige);
    border-color:rgba(88,113,97,.32);
    color:var(--sage-deep);
}
.btn-light{
    background:#fff;
    border:1px solid rgba(88,113,97,.12);
}

/* Header */
.site-topbar{
    background:rgba(255,255,255,.72);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(10px);
}
.site-topbar .small,
.site-topbar a{
    color:var(--muted);
}
.site-topbar a:hover{
    color:var(--sage-deep);
}
.site-header{
    background:rgba(255,255,255,.84);
    border-bottom:1px solid rgba(64,82,71,.08);
    backdrop-filter:blur(16px);
    box-shadow:0 10px 34px rgba(34,48,40,.04);
}
.site-header .navbar{
    min-height:84px;
}
.brand-mark{
    display:flex;
    align-items:center;
    gap:.85rem;
    font-weight:800;
    color:var(--text);
    letter-spacing:-.02em;
}
.brand-mark img{
    width:42px;
    height:42px;
    padding:.35rem;
    background:linear-gradient(180deg,#fff,#f7f4ef);
    border:1px solid rgba(88,113,97,.14);
    border-radius:1rem;
    box-shadow:var(--shadow-xs);
}
.navbar-nav{
    gap:.3rem;
}
.navbar-light .navbar-nav .nav-link,
.site-header .nav-link{
    color:var(--text);
    font-weight:600;
    padding:.68rem .95rem;
    border-radius:999px;
}
.site-header .nav-link:hover,
.site-header .nav-link.active{
    color:var(--sage-deep);
    background:rgba(246,241,233,.9);
}
.nav-main-shell{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:.8rem 1rem;
    width:100%;
}
.nav-cta-group{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:.65rem;
}
.site-header .navbar{
    column-gap:1rem;
}
.site-header .navbar-collapse{
    flex-grow:1;
}
.site-header .navbar-nav{
    flex-wrap:wrap;
    justify-content:flex-end;
}
.brand-mark{
    flex:0 0 auto;
    min-width:0;
}
.brand-mark span{
    white-space:nowrap;
    font-size:1rem;
}
@media (min-width:992px){
    .site-header .nav-link{
        padding:.58rem .72rem;
        font-size:.92rem;
    }
    .site-header .nav-link .nav-link-icon{
        display:none;
    }
    .nav-cta-group .btn{
        padding:.68rem .95rem;
        font-size:.9rem;
    }
}
.flash-stack{
    padding-top:1rem;
}
.alert{
    border:none;
    border-radius:1rem;
    box-shadow:var(--shadow-xs);
    padding:1rem 1.1rem;
}
.alert-success{
    background:linear-gradient(180deg, #eff8f2, #f8fcf8);
    color:#35523d;
}
.alert-danger{
    background:linear-gradient(180deg, #fff1f1, #fff9f8);
    color:#7b4040;
}
.alert-warning{
    background:linear-gradient(180deg, #fff8eb, #fffdf8);
    color:#785d2c;
}

/* Hero and sections */
.hero-section{
    position:relative;
    overflow:hidden;
    padding:4.25rem 0;
    background:
        radial-gradient(circle at 10% 20%, rgba(139,167,149,.14), transparent 26%),
        radial-gradient(circle at 90% 20%, rgba(231,221,207,.55), transparent 22%),
        linear-gradient(180deg, rgba(252,250,246,.96), rgba(255,255,255,.92));
    border-bottom:1px solid rgba(0,0,0,.05);
}
.hero-section::before{
    content:"";
    position:absolute;
    inset:auto -10% -180px auto;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(139,167,149,.08);
    filter:blur(10px);
}
.page-hero{
    position:relative;
    padding:4rem 0 2.6rem;
    background:
        radial-gradient(circle at top left, rgba(139,167,149,.16), transparent 28%),
        linear-gradient(180deg, #faf6ef, #fff);
}
.page-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(88,113,97,.12), transparent);
}
.hero-card,
.soft-card,
.feature-card,
.service-card,
.stat-card,
.table-card,
.kpi-card,
.summary-box,
.member-sidebar-card,
.member-header-card{
    background:rgba(255,255,255,.92);
    border:1px solid rgba(88,113,97,.10);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}
.hero-card{
    padding:2rem;
    background:rgba(255,255,255,.96);
}
.feature-card,
.service-card,
.stat-card{
    padding:1.5rem;
    height:100%;
}
.soft-card,
.table-card,
.kpi-card{
    overflow:hidden;
}
.service-card,
.feature-card,
.table-card,
.kpi-card,
.soft-card,
.member-sidebar-card{
    transition:var(--transition);
}
.service-card:hover,
.feature-card:hover,
.kpi-card:hover,
.soft-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg);
}
.soft-strip{
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,241,233,.7));
    border:1px solid rgba(88,113,97,.08);
    border-radius:var(--radius);
    padding:1.5rem;
    box-shadow:var(--shadow-xs);
}
.feature-card h5,
.service-card h5{
    margin-bottom:.85rem;
}
.service-card{
    display:flex;
    flex-direction:column;
    gap:.15rem;
}
.service-card .btn{
    margin-top:auto;
}
.hero-image{
    min-height:450px;
    border-radius:1.8rem;
    background:
        radial-gradient(circle at 18% 24%, rgba(255,255,255,.22), transparent 30%),
        linear-gradient(140deg, rgba(95,120,108,.96), rgba(246,241,233,.92));
    position:relative;
    overflow:hidden;
    box-shadow:var(--shadow-lg);
    border:1px solid rgba(255,255,255,.22);
}
.hero-image::before,
.hero-image::after{
    content:"";
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,.16);
}
.hero-image::before{
    width:240px;
    height:240px;
    right:-24px;
    top:-28px;
}
.hero-image::after{
    width:180px;
    height:180px;
    left:-26px;
    bottom:-26px;
}
.pill-tag{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.55rem .9rem;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    color:var(--sage-dark);
    box-shadow:var(--shadow-xs);
    margin:.25rem;
    font-size:.9rem;
    border:1px solid rgba(88,113,97,.08);
}
.badge-soft,
.text-bg-light{
    background:rgba(246,241,233,.92) !important;
    color:var(--sage-dark) !important;
    border:1px solid rgba(88,113,97,.10);
}
.badge{
    padding:.55rem .8rem;
    border-radius:999px;
    font-weight:600;
}
.list-check{
    list-style:none;
    padding-left:0;
}
.list-check li{
    padding-left:1.85rem;
    position:relative;
    margin-bottom:.8rem;
}
.list-check li::before{
    content:"✓";
    color:var(--sage-dark);
    position:absolute;
    left:0;
    top:0;
    width:1.2rem;
    height:1.2rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(139,167,149,.14);
    font-size:.78rem;
    font-weight:800;
}
.summary-box{
    padding:1.15rem 1.2rem;
    background:linear-gradient(180deg, #fbfcfb, #f7faf8);
}
.article-content p{
    margin-bottom:1rem;
    line-height:1.8;
}

/* Forms and tables */
.form-label{
    font-weight:700;
    color:#304238;
    margin-bottom:.5rem;
}
.form-control,
.form-select{
    border-radius:.95rem;
    padding:.84rem 1rem;
    border:1px solid rgba(88,113,97,.16);
    background:#fff;
    box-shadow:none;
}
.form-control:focus,
.form-select:focus{
    border-color:rgba(88,113,97,.42);
    box-shadow:0 0 0 .22rem rgba(139,167,149,.16);
}
textarea.form-control{
    min-height:120px;
}
.form-check-input:checked{
    background-color:var(--sage-dark);
    border-color:var(--sage-dark);
}
.table{
    --bs-table-bg:transparent;
    margin-bottom:0;
}
.table thead th{
    border-bottom:1px solid rgba(88,113,97,.08);
    color:var(--muted);
    font-size:.82rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    white-space:nowrap;
}
.table > :not(caption) > * > *{
    padding:1rem .9rem;
    vertical-align:middle;
    border-bottom:1px solid rgba(88,113,97,.08);
}
.table tbody tr{
    transition:var(--transition);
}
.table tbody tr:hover{
    background:rgba(246,241,233,.42);
}
.table-responsive{
    border-radius:1rem;
}
.card,
.accordion-item,
.list-group-item{
    border-radius:var(--radius);
    border:1px solid rgba(88,113,97,.10);
}
.card{
    box-shadow:var(--shadow);
}
.accordion-item{
    overflow:hidden;
}
.accordion-button{
    font-weight:700;
    color:var(--text);
    background:#fff;
}
.accordion-button:not(.collapsed){
    background:rgba(246,241,233,.75);
    color:var(--sage-deep);
}
.list-group-flush > .list-group-item{
    border-width:0 0 1px;
}

/* Footer */
.footer-wellness{
    position:relative;
    margin-top:5rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,247,241,.98));
    border-top:1px solid rgba(88,113,97,.10);
}
.footer-wellness::before{
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(88,113,97,.16), transparent);
}
.footer-cta{
    background:linear-gradient(140deg, rgba(95,120,108,.98), rgba(120,150,134,.94));
    color:#fff;
    border-radius:1.5rem;
    padding:1.6rem 1.7rem;
    box-shadow:var(--shadow-lg);
    margin-top:-2.6rem;
    margin-bottom:2.4rem;
}
.footer-cta .text-muted{
    color:rgba(255,255,255,.82) !important;
}
.footer-link-list{
    list-style:none;
    padding:0;
    margin:0;
}
.footer-link-list li{
    margin-bottom:.7rem;
}
.footer-link-list a{
    color:var(--muted);
}
.footer-link-list a:hover{
    color:var(--sage-deep);
}
.social-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:42px;
    padding:0 .9rem;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(88,113,97,.10);
    color:var(--sage-dark);
    box-shadow:var(--shadow-xs);
    margin-right:.45rem;
    margin-bottom:.45rem;
}
.social-link:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow);
}
.footer-brand-card{
    padding:1.2rem 1.3rem;
    border-radius:1.15rem;
    background:rgba(246,241,233,.6);
    border:1px solid rgba(88,113,97,.08);
}

/* Floating WA */
.whatsapp-float{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:1040;
}
.whatsapp-float .btn{
    box-shadow:var(--shadow-lg);
    border-radius:999px;
    padding:.85rem 1.1rem;
}

/* Admin */
.admin-shell{
    display:grid;
    grid-template-columns:300px 1fr;
    min-height:100vh;
}
.admin-sidebar{
    position:sticky;
    top:0;
    height:100vh;
    overflow-y:auto;
    background:
        linear-gradient(180deg, rgba(255,255,255,.97), rgba(250,247,241,.98));
    border-right:1px solid rgba(88,113,97,.10);
    box-shadow:18px 0 36px rgba(37,51,45,.04);
}
.admin-brand-panel{
    padding:1.8rem 1.5rem 1.3rem;
    border-bottom:1px solid rgba(88,113,97,.08);
}
.admin-brand-panel .brand-mark{
    margin-bottom:1rem;
}
.admin-role-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.45rem .8rem;
    border-radius:999px;
    background:rgba(246,241,233,.9);
    color:var(--sage-dark);
    font-size:.8rem;
    font-weight:700;
    border:1px solid rgba(88,113,97,.10);
}
.admin-nav{
    padding:1.2rem 1rem;
}
.admin-nav-group + .admin-nav-group{
    margin-top:1rem;
}
.admin-nav-label{
    display:block;
    margin:0 0 .55rem;
    padding:0 .6rem;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.72rem;
    font-weight:800;
}
.admin-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.78rem .9rem;
    border-radius:1rem;
    color:var(--text);
    margin-bottom:.3rem;
    font-weight:600;
    border:1px solid transparent;
}
.admin-link:hover{
    background:rgba(246,241,233,.82);
    color:var(--sage-deep);
}
.admin-link.active{
    background:linear-gradient(135deg, rgba(95,120,108,.10), rgba(246,241,233,.92));
    color:var(--sage-deep);
    border-color:rgba(88,113,97,.14);
    box-shadow:var(--shadow-xs);
}
.admin-link.is-danger{
    color:#8a5454;
}
.admin-sidebar-footer{
    margin:1rem;
    padding:1rem;
    border-radius:1rem;
    background:rgba(246,241,233,.65);
    border:1px solid rgba(88,113,97,.10);
    font-size:.92rem;
    color:var(--muted);
}
.admin-content{
    background:
        radial-gradient(circle at top right, rgba(139,167,149,.08), transparent 24%),
        linear-gradient(180deg, #f7f6f2, #f3f5f2);
}
.admin-topbar{
    position:sticky;
    top:0;
    z-index:1020;
    padding:1.35rem 1.6rem;
    background:rgba(247,246,242,.85);
    border-bottom:1px solid rgba(88,113,97,.10);
    backdrop-filter:blur(16px);
}
.admin-header-shell{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}
.admin-header-copy h1{
    margin-bottom:.25rem;
    font-size:1.7rem;
}
.admin-topbar-actions{
    display:flex;
    align-items:center;
    gap:.65rem;
    flex-wrap:wrap;
}
.admin-panel-body{
    padding:1.8rem;
}
.kpi-card{
    padding:1.35rem;
    height:100%;
}
.kpi-card .kpi-number{
    font-size:1.75rem;
    font-weight:800;
    letter-spacing:-.03em;
}
.kpi-label{
    color:var(--muted);
    font-size:.88rem;
    margin-bottom:.4rem;
}
.kpi-highlight{
    color:var(--sage-dark);
}
.admin-content .soft-card h5,
.admin-content .table-card h5{
    font-weight:800;
}

/* Member */
.member-topbar{
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(88,113,97,.10);
    box-shadow:0 8px 28px rgba(37,51,45,.04);
}
.member-shell{
    align-items:start;
}
.member-sidebar-card{
    overflow:hidden;
}
.member-profile-badge{
    width:56px;
    height:56px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:1rem;
    background:linear-gradient(135deg, rgba(95,120,108,.12), rgba(246,241,233,.95));
    color:var(--sage-dark);
    font-size:1.15rem;
    font-weight:800;
}
.member-side-nav{
    display:grid;
    gap:.5rem;
}
.member-nav-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.82rem .95rem;
    border-radius:1rem;
    background:#fff;
    border:1px solid rgba(88,113,97,.08);
    color:var(--text);
    font-weight:600;
}
.member-nav-link:hover{
    background:rgba(246,241,233,.7);
    color:var(--sage-deep);
}
.member-nav-link.active{
    background:linear-gradient(135deg, rgba(95,120,108,.10), rgba(246,241,233,.9));
    color:var(--sage-deep);
    border-color:rgba(88,113,97,.16);
    box-shadow:var(--shadow-xs);
}
.member-header-card{
    padding:1.45rem 1.5rem;
    margin-bottom:1.2rem;
    background:
        radial-gradient(circle at top right, rgba(139,167,149,.12), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,247,241,.96));
}
.member-header-card h1{
    margin-bottom:.2rem;
}
.member-meta{
    color:var(--muted);
    font-size:.95rem;
}

/* Utility */
.cta-banner{
    background:linear-gradient(140deg, var(--sage-dark), #93b1a3);
    color:#fff;
    border-radius:1.35rem;
    padding:2rem;
    box-shadow:var(--shadow-lg);
}
.rounded-4{
    border-radius:1.35rem !important;
}
.shadow-sm{
    box-shadow:var(--shadow-xs) !important;
}
.border-0{
    border-color:transparent !important;
}
.min-vh-100{
    min-height:100vh;
}
.status-note{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.45rem .78rem;
    border-radius:999px;
    background:rgba(246,241,233,.85);
    color:var(--sage-dark);
    font-size:.85rem;
    font-weight:700;
    border:1px solid rgba(88,113,97,.10);
}


@media (min-width:992px) and (max-width:1399.98px){
    body.public-body .container{
        max-width:1320px;
    }
    .brand-mark{
        gap:.65rem;
    }
    .brand-mark span{
        font-size:.96rem;
    }
    .site-header .nav-link{
        padding:.54rem .64rem;
        font-size:.89rem;
    }
    .nav-link-icon{
        display:none;
    }
    .nav-cta-group .btn{
        padding:.68rem .92rem;
        font-size:.88rem;
    }
}
/* Responsive */
@media (max-width:1199.98px){
    .admin-shell{
        grid-template-columns:260px 1fr;
    }
}
@media (max-width:991.98px){
    .site-header .navbar{
        min-height:auto;
    }
    .site-header .navbar-collapse{
        margin-top:1rem;
    }
    .nav-main-shell{
        align-items:flex-start;
    }
    .site-header .navbar-nav{
        width:100%;
        justify-content:flex-start;
    }
    .nav-cta-group{
        margin-top:.35rem;
        width:100%;
        justify-content:flex-start;
    }
    .hero-image{
        min-height:360px;
    }
    .admin-shell{
        grid-template-columns:1fr;
    }
    .admin-sidebar{
        position:static;
        height:auto;
    }
    .admin-topbar{
        position:static;
        padding:1.2rem 1rem;
    }
    .admin-panel-body{
        padding:1rem;
    }
    .admin-header-shell{
        flex-direction:column;
        align-items:flex-start;
    }
}
@media (max-width:767.98px){
    body{
        background:
            radial-gradient(circle at top left, rgba(139,167,149,.10), transparent 26%),
            linear-gradient(180deg, #fbfaf7 0%, #f7f5f1 100%);
    }
    .hero-section{
        padding:3.2rem 0;
    }
    .page-hero{
        padding:3rem 0 2rem;
    }
    .hero-card,
    .soft-card,
    .service-card,
    .feature-card,
    .table-card,
    .kpi-card,
    .member-header-card{
        border-radius:1.05rem;
    }
    .hero-slide img,
    .hero-slider-track{
        min-height:280px;
        height:280px;
    }
    .hero-slide-content{
        inset:auto .85rem .85rem .85rem;
        padding:.9rem 1rem .9rem .9rem;
    }
    .hero-slide-content h4{
        font-size:1.08rem;
    }
    .hero-slider-controls{
        left:.85rem;
        right:.85rem;
    }
    .footer-cta{
        margin-top:-1.8rem;
        padding:1.25rem;
    }
    .whatsapp-float{
        right:12px;
        bottom:12px;
    }
    .admin-brand-panel,
    .admin-nav{
        padding-left:.9rem;
        padding-right:.9rem;
    }
}


/* Icon system & premium illustrations */
.ui-icon{
    width:1.05rem;
    height:1.05rem;
    flex:0 0 auto;
    display:inline-block;
    vertical-align:middle;
}
.icon-chip{
    width:2.8rem;
    height:2.8rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:1rem;
    background:linear-gradient(135deg, rgba(95,120,108,.14), rgba(246,241,233,.95));
    border:1px solid rgba(88,113,97,.12);
    box-shadow:var(--shadow-xs);
    color:var(--sage-dark);
}
.icon-chip .ui-icon{
    width:1.15rem;
    height:1.15rem;
}
.icon-chip-lg{
    width:3.4rem;
    height:3.4rem;
    border-radius:1.15rem;
}
.icon-chip-soft{
    background:rgba(255,255,255,.8);
}
.nav-link{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
}
.nav-link-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.35rem;
    height:1.35rem;
    color:var(--sage-dark);
}
.nav-link .nav-link-icon .ui-icon{
    width:.95rem;
    height:.95rem;
}
.nav-link-text{
    line-height:1;
}
.site-header .navbar-nav .nav-item{
    flex:0 0 auto;
}
.site-header .nav-link{
    white-space:nowrap;
}
@media (min-width:1200px){
    .nav-main-shell{
        flex-wrap:nowrap;
    }
}
.admin-link,
.member-nav-link{
    gap:.85rem;
}
.admin-link-main,
.member-nav-main{
    display:inline-flex;
    align-items:center;
    gap:.75rem;
}
.admin-link-arrow,
.member-nav-arrow{
    color:rgba(88,113,97,.42);
    transition:var(--transition);
}
.admin-link:hover .admin-link-arrow,
.admin-link.active .admin-link-arrow,
.member-nav-link:hover .member-nav-arrow,
.member-nav-link.active .member-nav-arrow{
    color:var(--sage-dark);
    transform:translateX(2px);
}
.admin-link .icon-chip,
.member-nav-link .icon-chip{
    width:2.25rem;
    height:2.25rem;
    border-radius:.85rem;
}
.admin-link.active .icon-chip,
.member-nav-link.active .icon-chip{
    background:linear-gradient(135deg, rgba(95,120,108,.18), rgba(255,255,255,.96));
}
.topbar-meta-chip{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding:.55rem .85rem;
    border-radius:999px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(88,113,97,.12);
    box-shadow:var(--shadow-xs);
    color:var(--sage-deep);
    font-weight:600;
}
.topbar-meta-chip .ui-icon{
    width:.95rem;
    height:.95rem;
}
.whatsapp-float .btn{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
}
.whatsapp-float .btn-success{
    background:linear-gradient(135deg, #2f8f5c, #36a76c);
    border-color:#2f8f5c;
}

/* Hero premium refresh */
.hero-image{
    padding:1.55rem !important;
}
.hero-visual-grid{
    position:relative;
    z-index:1;
    display:grid;
    gap:1rem;
}
.hero-glow-note{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    padding:.7rem 1rem;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    color:#fff;
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 14px 30px rgba(37,51,45,.18);
    width:max-content;
}
.hero-glow-note .ui-icon{
    width:1rem;
    height:1rem;
}
.hero-score-card{
    display:grid;
    gap:1rem;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.18);
    border-radius:1.4rem;
    padding:1rem;
    box-shadow:0 18px 34px rgba(37,51,45,.10);
    backdrop-filter:blur(12px);
}
.hero-score-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    color:#fff;
}
.hero-score-head h5{
    color:#fff;
    margin:0;
}
.hero-score-head .text-muted{
    color:rgba(255,255,255,.72) !important;
}
.hero-mini-stat{
    display:flex;
    align-items:flex-start;
    gap:.8rem;
    padding:1rem;
    border-radius:1.15rem;
    background:rgba(255,255,255,.92);
    box-shadow:var(--shadow);
}
.hero-mini-stat .small{
    color:var(--muted);
}
.hero-mini-stat strong{
    font-size:1.15rem;
    display:block;
    margin-bottom:.12rem;
}
.hero-illustration-card{
    position:relative;
    padding:1.35rem;
    border-radius:1.35rem;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(255,255,255,.22);
    overflow:hidden;
}
.hero-illustration-card::after{
    content:"";
    position:absolute;
    inset:auto -36px -54px auto;
    width:140px;
    height:140px;
    border-radius:50%;
    background:rgba(139,167,149,.10);
}
.hero-illustration-card img{
    width:100%;
    max-width:240px;
    display:block;
    margin-left:auto;
}
.hero-photo-card{
    padding:1rem;
}
.hero-photo-card img{
    max-width:none;
    width:100%;
    height:270px;
    margin-left:0;
    object-fit:cover;
    border-radius:1rem;
}
.hero-slider-card{
    padding:0;
    min-height:310px;
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.18);
    box-shadow:0 22px 54px rgba(16,31,24,.16);
}
.hero-slider-track{
    position:relative;
    min-height:310px;
}
.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:scale(1.02);
    transition:opacity .7s ease, transform .9s ease, visibility .7s ease;
}
.hero-slide.is-active{
    opacity:1;
    visibility:visible;
    transform:scale(1);
}
.hero-slide img{
    width:100%;
    height:310px;
    object-fit:cover;
    border-radius:1.1rem;
    display:block;
}
.hero-slide-overlay{
    position:absolute;
    inset:0;
    border-radius:1.1rem;
    background:linear-gradient(180deg, rgba(18,31,25,.12) 0%, rgba(18,31,25,.72) 100%);
}
.hero-slide-content{
    position:absolute;
    inset:auto 1rem 1rem 1rem;
    z-index:2;
    padding:1rem 4.2rem 1.05rem 1.05rem;
    border-radius:1rem;
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.16);
    color:#fff;
    box-shadow:0 18px 36px rgba(16,31,24,.18);
}
.hero-slide-content h4{
    color:#fff;
    font-size:1.25rem;
    margin-bottom:.45rem;
}
.hero-slide-content p{
    color:rgba(255,255,255,.88);
    margin-bottom:.9rem;
    line-height:1.6;
}
.hero-slide-kicker{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.38rem .72rem;
    border-radius:999px;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.18);
    margin-bottom:.85rem;
}
.hero-slider-controls{
    position:absolute;
    left:1rem;
    right:1rem;
    bottom:1rem;
    display:flex;
    justify-content:flex-end;
    gap:.5rem;
    z-index:3;
}
.hero-slider-dot{
    width:.75rem;
    height:.75rem;
    border-radius:999px;
    border:none;
    padding:0;
    background:rgba(255,255,255,.36);
    box-shadow:0 10px 24px rgba(16,31,24,.16);
    transition:var(--transition);
}
.hero-slider-dot.is-active{
    width:2rem;
    background:#fff;
}
[data-reveal]{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .7s ease, transform .7s ease;
    will-change:opacity, transform;
}
[data-reveal].reveal-left{
    transform:translate(-24px, 24px);
}
[data-reveal].reveal-right{
    transform:translate(24px, 24px);
}
[data-reveal].is-visible{
    opacity:1;
    transform:translate3d(0, 0, 0);
}
@media (prefers-reduced-motion: reduce){
    .hero-slide,
    [data-reveal]{
        transition:none !important;
        transform:none !important;
    }
}
.hero-illustration-meta{
    position:absolute;
    left:1rem;
    top:1rem;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.55rem .8rem;
    border-radius:999px;
    background:#fff;
    box-shadow:var(--shadow-xs);
    color:var(--sage-dark);
    font-weight:700;
    font-size:.82rem;
}
.hero-badge-stack{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:.75rem;
}
.hero-badge-stack .pill-tag{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.16);
    backdrop-filter:blur(8px);
}

/* Public section visuals */
.section-frame{
    position:relative;
    overflow:hidden;
}
.section-frame::before{
    content:"";
    position:absolute;
    inset:0 auto auto 0;
    width:240px;
    height:240px;
    border-radius:50%;
    background:rgba(139,167,149,.06);
    transform:translate(-40%, -35%);
}
.section-header-inline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    flex-wrap:wrap;
    margin-bottom:2rem;
}
.section-visual-card{
    position:relative;
    padding:1.45rem;
    border-radius:1.45rem;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,246,240,.96));
    border:1px solid rgba(88,113,97,.10);
    box-shadow:var(--shadow);
    overflow:hidden;
}
.section-visual-card::before{
    content:"";
    position:absolute;
    inset:auto -48px -52px auto;
    width:160px;
    height:160px;
    border-radius:50%;
    background:rgba(231,221,207,.8);
}
.section-visual-card img{
    position:relative;
    z-index:1;
    max-width:100%;
}
.section-visual-note{
    position:absolute;
    left:1rem;
    top:1rem;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.55rem .8rem;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(88,113,97,.10);
    box-shadow:var(--shadow-xs);
    color:var(--sage-dark);
    font-weight:700;
    font-size:.8rem;
    z-index:2;
}
.feature-card,
.service-card,
.soft-card{
    position:relative;
    overflow:hidden;
}
.feature-card::after,
.service-card::after,
.soft-card::after{
    content:"";
    position:absolute;
    inset:auto -42px -52px auto;
    width:130px;
    height:130px;
    border-radius:50%;
    background:rgba(139,167,149,.05);
}
.feature-card > *,
.service-card > *,
.soft-card > *{
    position:relative;
    z-index:1;
}
.card-icon-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
}
.card-meta-inline{
    display:flex;
    align-items:center;
    gap:.65rem;
    flex-wrap:wrap;
    color:var(--muted);
    font-size:.92rem;
}
.meta-dot{
    width:4px;
    height:4px;
    border-radius:50%;
    background:rgba(88,113,97,.38);
}
.service-thumb{
    width:100%;
    height:190px;
    border-radius:1.1rem;
    background:linear-gradient(140deg, rgba(95,120,108,.14), rgba(246,241,233,.96));
    border:1px solid rgba(88,113,97,.10);
    overflow:hidden;
    margin-bottom:1rem;
}
.service-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.practitioner-avatar{
    width:100%;
    height:240px;
    border-radius:1.1rem;
    overflow:hidden;
    margin-bottom:1rem;
    background:linear-gradient(140deg, rgba(95,120,108,.14), rgba(246,241,233,.96));
    border:1px solid rgba(88,113,97,.10);
}
.practitioner-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.practitioner-avatar-lg{
    height:300px;
}
.admin-image-preview{
    width:100%;
    max-width:260px;
    border-radius:1rem;
    overflow:hidden;
    border:1px solid rgba(88,113,97,.12);
    box-shadow:var(--shadow-xs);
    background:#fff;
}
.admin-image-preview img{
    width:100%;
    height:180px;
    object-fit:cover;
    display:block;
}
.image-source-note{
    font-size:.84rem;
    color:var(--muted);
    word-break:break-word;
}
.banner-card-media{
    width:100%;
    height:220px;
    border-radius:1.15rem;
    overflow:hidden;
    margin-bottom:1.25rem;
    background:rgba(255,255,255,.14);
}
.banner-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.practitioner-note{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.42rem .74rem;
    border-radius:999px;
    background:rgba(246,241,233,.85);
    color:var(--sage-dark);
    font-size:.82rem;
    font-weight:700;
    border:1px solid rgba(88,113,97,.08);
}
.membership-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
}
.quote-mark{
    width:3rem;
    height:3rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:1rem;
    background:rgba(246,241,233,.92);
    color:var(--sage-dark);
    font-size:1.4rem;
    font-weight:800;
}
.testimonial-stars{
    color:#b48f45;
    letter-spacing:.08em;
    font-size:1rem;
}
.timeline-chip{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.55rem .9rem;
    border-radius:999px;
    background:rgba(246,241,233,.82);
    border:1px solid rgba(88,113,97,.10);
    color:var(--sage-dark);
    font-size:.84rem;
    font-weight:700;
}

/* Admin dashboard visuals */
.admin-dashboard-hero{
    position:relative;
    padding:1.6rem;
    border-radius:1.55rem;
    overflow:hidden;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 25%),
        linear-gradient(135deg, rgba(76,96,86,.98), rgba(132,161,145,.92));
    color:#fff;
    box-shadow:var(--shadow-lg);
}
.admin-dashboard-hero::before{
    content:"";
    position:absolute;
    inset:auto -60px -70px auto;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(255,255,255,.10);
}
.admin-dashboard-hero h2,
.admin-dashboard-hero h3,
.admin-dashboard-hero h4{
    color:#fff;
}
.admin-dashboard-hero .text-muted{
    color:rgba(255,255,255,.76) !important;
}
.admin-hero-grid{
    display:grid;
    grid-template-columns:1.2fr .9fr;
    gap:1.25rem;
    align-items:end;
}
.admin-hero-pill{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.58rem .86rem;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    font-weight:700;
    font-size:.84rem;
}
.admin-hero-metrics{
    display:grid;
    gap:.85rem;
}
.admin-hero-metric{
    padding:1rem 1.05rem;
    border-radius:1.15rem;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.16);
    backdrop-filter:blur(10px);
}
.admin-hero-metric strong{
    display:block;
    font-size:1.35rem;
    line-height:1.1;
    margin-bottom:.18rem;
}
.kpi-card{
    position:relative;
    overflow:hidden;
}
.kpi-card::after{
    content:"";
    position:absolute;
    right:-26px;
    top:-26px;
    width:92px;
    height:92px;
    border-radius:50%;
    background:rgba(139,167,149,.08);
}
.kpi-card > *{
    position:relative;
    z-index:1;
}
.kpi-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
}
.metric-icon{
    width:3rem;
    height:3rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:1rem;
    background:linear-gradient(135deg, rgba(95,120,108,.14), rgba(246,241,233,.92));
    color:var(--sage-dark);
    border:1px solid rgba(88,113,97,.10);
    box-shadow:var(--shadow-xs);
}
.metric-icon .ui-icon{
    width:1.2rem;
    height:1.2rem;
}
.kpi-meta{
    display:flex;
    align-items:center;
    gap:.55rem;
    flex-wrap:wrap;
    font-size:.82rem;
    color:var(--muted);
}
.kpi-chip{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.34rem .62rem;
    border-radius:999px;
    background:rgba(246,241,233,.82);
    border:1px solid rgba(88,113,97,.08);
    color:var(--sage-dark);
}
.admin-grid-panel{
    display:grid;
    gap:1.2rem;
}
.admin-chart-card{
    padding:1.4rem;
    border-radius:1.35rem;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(88,113,97,.10);
    box-shadow:var(--shadow);
    overflow:hidden;
}
.chart-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
}
.chart-head h5{
    margin-bottom:.25rem;
}
.chart-badge{
    display:inline-flex;
    align-items:center;
    gap:.42rem;
    padding:.45rem .72rem;
    border-radius:999px;
    background:rgba(246,241,233,.88);
    border:1px solid rgba(88,113,97,.08);
    color:var(--sage-dark);
    font-size:.8rem;
    font-weight:700;
}
.sparkline-chart{
    position:relative;
    width:100%;
    min-height:220px;
    border-radius:1.15rem;
    padding:1rem;
    background:linear-gradient(180deg, rgba(249,247,243,.9), rgba(255,255,255,.96));
    border:1px solid rgba(88,113,97,.08);
}
.sparkline-chart svg{
    width:100%;
    height:200px;
    display:block;
}
.sparkline-grid line{
    stroke:rgba(88,113,97,.10);
    stroke-dasharray:4 5;
}
.sparkline-area{
    fill:rgba(139,167,149,.18);
}
.sparkline-line{
    fill:none;
    stroke:var(--sage-dark);
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.sparkline-dot{
    fill:#fff;
    stroke:var(--sage-dark);
    stroke-width:2.5;
}
.sparkline-labels{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(60px, 1fr));
    gap:.55rem;
    margin-top:.85rem;
}
.sparkline-label{
    font-size:.8rem;
    color:var(--muted);
    text-align:center;
}
.progress-list{
    display:grid;
    gap:1rem;
}
.progress-item-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.5rem;
}
.progress-track{
    width:100%;
    height:.75rem;
    border-radius:999px;
    background:rgba(246,241,233,.92);
    overflow:hidden;
    border:1px solid rgba(88,113,97,.06);
}
.progress-fill{
    height:100%;
    border-radius:999px;
    background:linear-gradient(135deg, var(--sage-dark), #88a493);
}
.progress-caption{
    font-size:.82rem;
    color:var(--muted);
    margin-top:.35rem;
}
.insight-grid{
    display:grid;
    gap:1rem;
}
.insight-card{
    display:flex;
    align-items:flex-start;
    gap:.9rem;
    padding:1rem 1.05rem;
    border-radius:1.15rem;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,247,243,.92));
    border:1px solid rgba(88,113,97,.08);
}
.inquiry-item{
    display:flex;
    gap:.85rem;
    padding:1rem 0;
    border-bottom:1px solid rgba(88,113,97,.08);
}
.inquiry-item:last-child{
    border-bottom:none;
}
.inquiry-avatar{
    width:2.6rem;
    height:2.6rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:1rem;
    background:linear-gradient(135deg, rgba(95,120,108,.14), rgba(246,241,233,.92));
    color:var(--sage-dark);
    border:1px solid rgba(88,113,97,.10);
    font-weight:800;
}
.schedule-pill{
    display:inline-flex;
    align-items:center;
    gap:.42rem;
    padding:.38rem .65rem;
    border-radius:999px;
    background:rgba(246,241,233,.78);
    border:1px solid rgba(88,113,97,.08);
    color:var(--sage-dark);
    font-size:.78rem;
    font-weight:700;
}
.admin-section-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2.6rem;
    height:2.6rem;
    border-radius:1rem;
    background:linear-gradient(135deg, rgba(95,120,108,.14), rgba(246,241,233,.92));
    color:var(--sage-dark);
    border:1px solid rgba(88,113,97,.10);
}
.admin-stat-inline{
    display:flex;
    align-items:center;
    gap:.7rem;
    flex-wrap:wrap;
    margin-top:1rem;
}
.admin-stat-inline .timeline-chip{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.14);
    color:#fff;
}
.admin-mini-note{
    color:var(--muted);
    font-size:.85rem;
}

/* Footer and lists premium refresh */
.footer-link-list a,
.social-link{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
}
.footer-link-list a .ui-icon,
.social-link .ui-icon{
    width:.9rem;
    height:.9rem;
}
.footer-contact-list{
    display:grid;
    gap:.85rem;
}
.footer-contact-item{
    display:flex;
    gap:.75rem;
}
.footer-contact-item .icon-chip{
    width:2.5rem;
    height:2.5rem;
    border-radius:.95rem;
    flex:0 0 auto;
}

/* Responsive enhancements */
@media (max-width:991.98px){
    .admin-hero-grid{
        grid-template-columns:1fr;
    }
    .section-header-inline{
        display:block;
    }
}
@media (max-width:767.98px){
    .nav-link-icon{
        width:1.15rem;
        height:1.15rem;
    }
    .hero-glow-note{
        width:100%;
        justify-content:center;
    }
    .hero-mini-stat{
        padding:.9rem;
    }
    .hero-score-card{
        padding:.85rem;
    }
    .sparkline-chart{
        padding:.85rem;
        min-height:200px;
    }
    .sparkline-chart svg{
        height:170px;
    }
}


/* Premium admin CRUD */
.admin-page-intro{
    margin-bottom:1.5rem;
    padding:1.35rem 1.4rem;
    background:
        radial-gradient(circle at top right, rgba(139,167,149,.16), transparent 26%),
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(247,243,236,.96));
}
.admin-page-intro-grid{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.95fr);
    gap:1rem;
    align-items:start;
}
.admin-page-intro-copy h2{
    margin:0 0 .55rem;
    font-size:1.55rem;
    font-weight:800;
    letter-spacing:-.03em;
}
.admin-page-intro-copy p{
    max-width:60ch;
    margin-bottom:0;
}
.admin-page-intro-actions{
    display:flex;
    gap:.7rem;
    flex-wrap:wrap;
    margin-top:1rem;
}
.admin-page-intro-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:.75rem;
}
.admin-page-intro-stat{
    display:flex;
    gap:.8rem;
    align-items:flex-start;
    padding:.95rem 1rem;
    border-radius:1rem;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(88,113,97,.12);
    box-shadow:var(--shadow-xs);
}
.admin-page-intro-stat-icon{
    width:2.75rem;
    height:2.75rem;
    border-radius:1rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, rgba(95,120,108,.12), rgba(246,241,233,.96));
    color:var(--sage-dark);
    flex-shrink:0;
}
.admin-page-intro-stat-copy{
    display:grid;
    gap:.12rem;
}
.admin-page-intro-stat-copy strong{
    font-size:1.05rem;
    font-weight:800;
    letter-spacing:-.02em;
}
.admin-page-intro-stat-copy span{
    color:var(--text);
    font-size:.88rem;
    font-weight:700;
}
.admin-page-intro-stat-copy small{
    color:var(--muted);
    font-size:.78rem;
    line-height:1.45;
}
.admin-content .soft-card,
.admin-content .table-card{
    position:relative;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,246,241,.96));
    border-color:rgba(88,113,97,.12);
}
.admin-content .soft-card::before,
.admin-content .table-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:4px;
    background:linear-gradient(90deg, rgba(95,120,108,.96), rgba(170,187,172,.45), transparent);
    pointer-events:none;
}
.admin-content .soft-card > h5:first-child,
.admin-content .table-card > h5:first-child{
    position:relative;
    display:flex;
    align-items:center;
    gap:.7rem;
    margin-bottom:1.15rem;
    padding-bottom:.9rem;
    border-bottom:1px solid rgba(88,113,97,.09);
    font-size:1.08rem;
}
.admin-content .soft-card > h5:first-child::before,
.admin-content .table-card > h5:first-child::before{
    content:"";
    width:.78rem;
    height:.78rem;
    border-radius:999px;
    background:linear-gradient(135deg, rgba(95,120,108,.96), rgba(170,187,172,.7));
    box-shadow:0 0 0 .3rem rgba(139,167,149,.15);
}
.admin-content .soft-card p.text-muted,
.admin-content .table-card p.text-muted{
    line-height:1.7;
}
.admin-content .form-control,
.admin-content .form-select{
    background:linear-gradient(180deg, #fff, #fbf9f5);
    border-color:rgba(88,113,97,.18);
}
.admin-content textarea.form-control{
    min-height:138px;
}
.admin-content .form-check{
    padding:.85rem 1rem .85rem 2.35rem;
    background:rgba(250,247,241,.72);
    border:1px solid rgba(88,113,97,.10);
    border-radius:1rem;
}
.admin-content .form-check-input{
    margin-left:-1.35rem;
    margin-top:.25rem;
}
.admin-content .table-card .table-responsive{
    margin-top:.35rem;
    border-radius:1.15rem;
    border:1px solid rgba(88,113,97,.10);
    background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,247,242,.92));
    padding:.18rem .3rem;
}
.admin-content .table-card .table{
    --bs-table-bg:transparent;
}
.admin-content .table-card table thead th{
    position:sticky;
    top:0;
    z-index:1;
    background:rgba(247,244,239,.96);
}
.admin-content .table-card table tbody td:first-child{
    font-weight:700;
    color:var(--text);
}
.admin-content .table-card table tbody td{
    color:#324239;
}
.admin-content .table-card table tbody tr:hover{
    transform:translateY(-1px);
    box-shadow:inset 0 0 0 999px rgba(246,241,233,.42);
}
.admin-content .table-card .list-group-item{
    background:rgba(255,255,255,.9);
}
.admin-content .btn-outline-danger{
    border-color:rgba(145,86,86,.28);
    color:#8b5858;
    background:#fff;
}
.admin-content .btn-outline-danger:hover,
.admin-content .btn-outline-danger:focus{
    background:#fff2f2;
    color:#7a4545;
    border-color:rgba(145,86,86,.4);
}
.admin-content .btn-success{
    background:linear-gradient(135deg, #587161, #7b9a88);
    border-color:#587161;
    box-shadow:0 10px 24px rgba(88,113,97,.2);
}
.admin-content .btn-success:hover,
.admin-content .btn-success:focus{
    background:linear-gradient(135deg, #4d6355, #6d8878);
    border-color:#4d6355;
}
.admin-content .badge.text-bg-success,
.admin-content .badge.text-bg-primary,
.admin-content .badge.text-bg-warning,
.admin-content .badge.text-bg-secondary,
.admin-content .badge.text-bg-danger,
.admin-content .badge.text-bg-info,
.admin-content .badge.text-bg-dark{
    border:1px solid rgba(88,113,97,.08);
}
.admin-content .table-card .collapse > td{
    background:rgba(249,246,241,.7);
}
.admin-content .table-card form.row{
    padding:.65rem .2rem .2rem;
}
.admin-content .table-card form.row .btn{
    margin-top:.2rem;
}

/* Premium public detail pages */
.detail-hero{
    position:relative;
    padding:4rem 0 3rem;
    background:
        radial-gradient(circle at top left, rgba(139,167,149,.18), transparent 28%),
        radial-gradient(circle at 92% 18%, rgba(231,221,207,.8), transparent 22%),
        linear-gradient(180deg, #faf7f1 0%, #fff 100%);
    overflow:hidden;
}
.detail-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(88,113,97,.16), transparent);
}
.detail-hero-shell{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
    gap:1.5rem;
    align-items:start;
}
.detail-card,
.detail-sidebar-card,
.detail-section-card,
.editorial-card,
.contact-panel-card,
.faq-panel-card{
    position:relative;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(88,113,97,.11);
    border-radius:1.45rem;
    box-shadow:var(--shadow);
}
.detail-card,
.detail-sidebar-card,
.detail-section-card,
.editorial-card,
.contact-panel-card,
.faq-panel-card{
    overflow:hidden;
}
.detail-card-body,
.detail-sidebar-card .card-body,
.detail-section-card .card-body,
.editorial-card .card-body,
.contact-panel-card .card-body,
.faq-panel-card .card-body{
    padding:1.6rem;
}
.detail-card::before,
.detail-sidebar-card::before,
.detail-section-card::before,
.editorial-card::before,
.contact-panel-card::before,
.faq-panel-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:4px;
    background:linear-gradient(90deg, rgba(95,120,108,.96), rgba(170,187,172,.4), transparent);
}
.detail-meta-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:.85rem;
}
.detail-meta-card{
    padding:1rem 1.05rem;
    border-radius:1.1rem;
    background:linear-gradient(180deg, rgba(248,246,241,.95), rgba(255,255,255,.92));
    border:1px solid rgba(88,113,97,.10);
    min-height:100%;
}
.detail-meta-card strong{
    display:block;
    margin-top:.6rem;
    font-size:1rem;
}
.detail-chip-row{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
    margin-bottom:1rem;
}
.detail-chip{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.58rem .9rem;
    border-radius:999px;
    background:rgba(246,241,233,.9);
    border:1px solid rgba(88,113,97,.10);
    color:var(--sage-dark);
    font-weight:700;
    font-size:.88rem;
}
.detail-stacked-list{
    display:grid;
    gap:.9rem;
}
.detail-stacked-item{
    padding:1rem 1.05rem;
    border-radius:1rem;
    background:rgba(250,247,241,.76);
    border:1px solid rgba(88,113,97,.10);
}
.detail-stacked-item strong{
    display:block;
    margin-bottom:.35rem;
}
.detail-schedule-card{
    padding:1rem 1.05rem;
    border-radius:1rem;
    border:1px solid rgba(88,113,97,.11);
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,246,241,.9));
    box-shadow:var(--shadow-xs);
}
.detail-schedule-card + .detail-schedule-card{
    margin-top:.8rem;
}
.detail-schedule-card .schedule-title{
    font-weight:800;
    margin-bottom:.35rem;
}
.detail-schedule-card .schedule-meta{
    color:var(--muted);
    font-size:.92rem;
}
.rich-article{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.62fr);
    gap:1.4rem;
    align-items:start;
}
.article-prose{
    padding:1.7rem;
}
.article-prose p{
    margin-bottom:1.15rem;
    line-height:1.9;
    color:#324239;
}
.article-prose h2,
.article-prose h3{
    margin-top:1.6rem;
    margin-bottom:.8rem;
}
.article-prose blockquote{
    margin:1.4rem 0;
    padding:1rem 1.2rem;
    border-left:4px solid rgba(95,120,108,.72);
    background:rgba(246,241,233,.7);
    border-radius:0 1rem 1rem 0;
    color:#2c3e34;
}
.editorial-aside-note{
    padding:1rem 1.05rem;
    border-radius:1rem;
    background:rgba(246,241,233,.76);
    border:1px solid rgba(88,113,97,.10);
}
.contact-stack{
    display:grid;
    gap:1rem;
}
.contact-meta-row{
    display:flex;
    gap:.85rem;
    align-items:flex-start;
}
.contact-meta-icon{
    width:2.8rem;
    height:2.8rem;
    border-radius:1rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, rgba(95,120,108,.12), rgba(246,241,233,.96));
    color:var(--sage-dark);
    flex-shrink:0;
}
.contact-meta-row strong{
    display:block;
    margin-bottom:.2rem;
}
.faq-layout{
    display:grid;
    grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
    gap:1.3rem;
    align-items:start;
}
.faq-accent-list{
    display:grid;
    gap:.85rem;
}
.faq-accent-item{
    padding:.95rem 1rem;
    border-radius:1rem;
    background:rgba(250,247,241,.72);
    border:1px solid rgba(88,113,97,.10);
}
.content-note-card{
    padding:1rem 1.05rem;
    border-radius:1rem;
    background:linear-gradient(180deg, rgba(248,246,241,.96), rgba(255,255,255,.92));
    border:1px solid rgba(88,113,97,.10);
}
@media (max-width: 991.98px){
    .admin-page-intro-grid,
    .detail-hero-shell,
    .rich-article,
    .faq-layout{
        grid-template-columns:1fr;
    }
    .admin-page-intro-stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px){
    .admin-panel-body{
        padding:1.15rem;
    }
    .admin-page-intro{
        padding:1.1rem;
    }
    .admin-page-intro-stats,
    .detail-meta-grid{
        grid-template-columns:1fr;
    }
    .detail-card-body,
    .detail-sidebar-card .card-body,
    .detail-section-card .card-body,
    .editorial-card .card-body,
    .contact-panel-card .card-body,
    .faq-panel-card .card-body,
    .article-prose{
        padding:1.2rem;
    }
}


/* Demo mode */
.demo-version-badge{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    background:linear-gradient(135deg,#ff8a3d,#f97316);
    color:#fff;
    border-radius:999px;
    padding:.5rem .9rem;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    box-shadow:0 18px 35px rgba(249,115,22,.22);
    text-transform:uppercase;
}
.demo-version-badge.is-floating{
    position:fixed;
    top:1rem;
    right:1rem;
    z-index:1055;
}
.demo-inline-note{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    background:rgba(255,138,61,.12);
    border:1px solid rgba(249,115,22,.22);
    color:#7c4a12;
    padding:.9rem 1rem;
    border-radius:1rem;
    margin-bottom:1rem;
    box-shadow:0 12px 28px rgba(17,24,39,.05);
}
.demo-inline-copy{
    font-size:.92rem;
}
.demo-inline-link{
    white-space:nowrap;
    color:#9a4f11;
    font-weight:700;
    text-decoration:none;
}
.demo-inline-link:hover{
    color:#7c3d09;
}
.demo-login-panel{
    margin-top:1.25rem;
    padding:1.25rem;
    border-radius:1.5rem;
    border:1px solid rgba(128,123,111,.12);
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,244,238,.96));
    box-shadow:0 16px 36px rgba(15,23,42,.06);
}
.demo-login-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    margin-bottom:1rem;
}
.demo-login-card{
    border:1px solid rgba(128,123,111,.12);
    background:#fff;
    border-radius:1.25rem;
    padding:1rem;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.demo-login-role{
    font-weight:800;
    margin-bottom:.85rem;
    color:var(--sage-dark, #5f6856);
}
.demo-credential{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:.65rem .8rem;
    border-radius:1rem;
    background:rgba(244,239,230,.8);
    margin-bottom:.65rem;
    font-size:.92rem;
}
.demo-credential span{
    color:#7a7a7a;
}
.demo-credential strong{
    font-weight:700;
    word-break:break-word;
    text-align:right;
}
@media (max-width: 767.98px){
    .demo-version-badge.is-floating{
        top:.75rem;
        right:.75rem;
    }
    .demo-inline-note,
    .demo-login-head,
    .demo-credential{
        flex-direction:column;
        align-items:flex-start;
    }
    .demo-credential strong{
        text-align:left;
    }
}
