/* ==========================================================
   VARIABLES
========================================================== */

:root{

    --comm-primary:#0057D9;
    --comm-primary-dark:#003E99;
    --comm-accent:#00A8E8;

    --comm-white:#ffffff;

    --comm-background:#eef4fb;

    --comm-surface:#ffffff;

    --comm-border:#dbe6f3;

    --comm-title:#17365d;

    --comm-text:#50657d;

    --comm-muted:#7d8fa5;

    --comm-success:#28c76f;

    --comm-warning:#f59e0b;

    --comm-danger:#ef4444;

    --comm-radius:26px;

    --comm-radius-small:16px;

    --comm-shadow:

        0 20px 60px rgba(15,23,42,.08);

    --comm-shadow-hover:

        0 35px 80px rgba(15,23,42,.15);

    --comm-speed:.30s ease;

}

/* ==========================================================
   PAGE
========================================================== */

.comm-shell{

    min-height:100vh;

    background:

        radial-gradient(circle at top right,#3b82f615 0%,transparent 35%),

        radial-gradient(circle at bottom left,#0f172a12 0%,transparent 45%),

        var(--comm-background);

}

/* ==========================================================
   CONTAINER
========================================================== */

.comm-wrapper{

    width:min(1400px,94%);

    margin:auto;

    margin-bottom: -100px;

}

.comm-section{

    padding:70px 0;

}

.comm-section-small{

    padding:40px 0;

} 

.comm-section-title h2{

    color: #173f72;
    margin-bottom: 10px;

}

/* ==========================================================
   HERO
========================================================== */

.comm-hero{

    position:relative;

    overflow:hidden;

    border-radius:34px;

    margin:45px auto;

    padding:90px 70px;

    background:

        linear-gradient(

            135deg,

            #0A2342,

            #124E78,

            #1B6CA8

        );

    color:#fff;

        width: 95%;

}

.comm-hero::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    right:-180px;

    top:-180px;

    border-radius:50%;

    background:

        rgba(255,255,255,.08);

}

.comm-hero::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    left:-70px;

    bottom:-90px;

    border-radius:50%;

    background:

        rgba(255,255,255,.05);

}

.comm-hero__content{

    position:relative;

    z-index:2;

    max-width:820px;

}

.comm-hero__eyebrow{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 22px;

    border-radius:999px;

    background:

        rgba(255,255,255,.12);

    backdrop-filter:blur(15px);

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:.75rem;

}

.comm-hero h1{

    margin:28px 0 18px;

    font-size:4rem;

    line-height:1.08;

    font-weight:800;

}

.comm-hero p{

    font-size:1.18rem;

    line-height:1.9;

    max-width:760px;

    color:rgba(255,255,255,.92);

}

/* ==========================================================
   SEARCH
========================================================== */

.comm-toolbar{

    margin-bottom:40px;

    position:relative;

    width: 95%;

    margin: 20px auto;

    z-index:5;

}

.comm-search{

    display:flex;

    align-items:center;

    gap:18px;

    background:#fff;

    border-radius:22px;

    padding:20px 24px;

    box-shadow:

        var(--comm-shadow);

}

.comm-search i{

    font-size:24px;

    color:

        var(--comm-primary);

}

.comm-search input{

    flex:1;

    border:none;

    outline:none;

    background:transparent;

    font-size:1rem;

    color:

        var(--comm-title);

}

.comm-search input::placeholder{

    color:

        var(--comm-muted);

}

/* ==========================================================
   GRID
========================================================== */

.comm-grid{

    display:grid;

    grid-template-columns:

        repeat(

            auto-fill,

            minmax(360px,1fr)

        );

    gap:34px;

}

/* ==========================================================
   CARD
========================================================== */

.comm-card{

    display:flex;

    flex-direction:column;

    overflow:hidden;

    border-radius:

        var(--comm-radius);

    background:

        var(--comm-surface);

    box-shadow:

        var(--comm-shadow);

    transition:

        var(--comm-speed);

    margin-bottom: 30px;

}

.comm-card:hover{

    transform:

        translateY(-10px);

    box-shadow:

        var(--comm-shadow-hover);

}

/* ==========================================================
   MEDIA
========================================================== */

.comm-card-media{

    position:relative;

    overflow:hidden;

    height:240px;

    background:#dce8f8;

}

.comm-card-media img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.4s;

}

.comm-card:hover

.comm-card-media img{

    transform:scale(1.05);

}

.comm-card-media video{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    background:#000;

}

/* ==========================================================
   PDF
========================================================== */

.comm-pdf{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:14px;

    height:100%;

    background:

        linear-gradient(

            135deg,

            #edf4ff,

            #d8e8fb

        );

}

.comm-pdf i{

    font-size:74px;

    color:#e53935;

}

.comm-pdf span{

    color:

        var(--comm-title);

    font-weight:700;

}

/* ==========================================================
   CARD BODY
========================================================== */

.comm-card-body{

    display:flex;

    flex-direction:column;

    gap:18px;

    padding:30px;

    flex:1;

}

.comm-card-date{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:.88rem;

    color:

        var(--comm-muted);

}

.comm-card-title{

    font-size:1.7rem;

    line-height:1.3;

    font-weight:800;

    color:

        var(--comm-title);

}

.comm-card-text{

    color:

        var(--comm-text);

    line-height:1.8;

    flex:1;

}

/* ==========================================================
   BUTTON
========================================================== */

.comm-read{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    padding:15px 26px;

    border:none;

    border-radius:16px;

    cursor:pointer;

    background:

        linear-gradient(

            135deg,

            var(--comm-primary),

            var(--comm-accent)

        );

    color:#fff;

    font-weight:700;

    transition:

        var(--comm-speed);

    text-decoration: none;

}

.comm-read:hover{

    transform:translateY(-2px);

}

/* ==========================================================
   EMPTY
========================================================== */

.comm-empty{

    grid-column:1/-1;

    padding:90px;

    text-align:center;

    border-radius:

        var(--comm-radius);

    background:#fff;

    box-shadow:

        var(--comm-shadow);

}

.comm-empty i{

    font-size:80px;

    color:

        var(--comm-primary);

    margin-bottom:20px;

}

.comm-empty h2{

    margin-bottom:12px;

    color:

        var(--comm-title);

}

.comm-empty p{

    color:

        var(--comm-text);

    line-height:1.8;

}

/* ==========================================================
   DETAIL PAGE
========================================================== */

.comm-detail-wrapper{

    width:min(1100px,94%);

    margin:60px auto;

}

.comm-detail-media{

    width:100%;

    max-height:620px;

    overflow:hidden;

    background:#dde8f8;

}

.comm-detail-media img{

    width:100%;

    max-height:620px;

    object-fit:cover;

    display:block;

}

.comm-detail-media video{

    width:100%;

    max-height:620px;

    display:block;

    background:#000;

}

.comm-detail-pdf{

    padding:100px;

    text-align:center;

    background:

        linear-gradient(

            135deg,

            #edf5ff,

            #d7e8fb

        );

}

.comm-detail-pdf i{

    font-size:110px;

    color:#e53935;

    display:block;

    margin-bottom:25px;

}


/* ==========================================================
   ACTIONS
========================================================== */

.comm-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:15px 28px;

    border-radius:18px;

    font-weight:700;

    transition:.3s;

    cursor:pointer;

    text-decoration:none;

}

.comm-btn-primary{

    background:

        linear-gradient(

            135deg,

            var(--comm-primary),

            var(--comm-accent)

        );

    color:#fff;

}

.comm-btn-secondary{

    background:#edf4ff;

    color:var(--comm-primary);

}

.comm-btn:hover{

    transform:translateY(-3px);

}


/* ==========================================================
   RELATED
========================================================== */

.comm-related{

    width:min(1400px,94%);

    margin:80px auto;

    margin-bottom: -100px;

}

.comm-related-title{

    font-size:2.2rem;

    margin-bottom:35px;

    color:var(--comm-title);

}


/* ==========================================================
   CTA STRIP
========================================================== */

.comm-strip{

    width:min(1400px,94%);

    margin:90px auto;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.comm-strip-card{

    background:#fff;

    border-radius:28px;

    padding:35px;

    text-align:center;

    box-shadow:var(--comm-shadow);

    transition:.3s;

}

.comm-strip-card:hover{

    transform:translateY(-8px);

}

.comm-strip-card i{

    width:72px;

    height:72px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    border-radius:50%;

    background:#edf4ff;

    color:var(--comm-primary);

    font-size:34px;

    margin-bottom:20px;

}

.comm-strip-card h3{

    margin-bottom:14px;

    color:var(--comm-title);

}

.comm-strip-card p{

    color:var(--comm-text);

    line-height:1.8;

    margin-bottom:22px;

}


/* ==========================================================
   CONFERENCE BLOCK
========================================================== */

.comm-conference{

    background:

        linear-gradient(

            135deg,

            #0f3b74,

            #1d63d5

        );

    color:#fff;

}

.comm-conference p{

    color:rgba(255,255,255,.9);

}

.comm-conference i{

    background:rgba(255,255,255,.15);

    color:#fff;

}


/* ==========================================================
   REGISTRATION BLOCK
========================================================== */

.comm-registration{

    background:

        linear-gradient(

            135deg,

            #0f766e,

            #14b8a6

        );

    color:#fff;

}

.comm-registration p{

    color:rgba(255,255,255,.92);

}

.comm-registration i{

    background:rgba(255,255,255,.15);

    color:#fff;

}


/* ==========================================================
   CONTACT BLOCK
========================================================== */

.comm-contact{

    background:

        linear-gradient(

            135deg,

            #7c3aed,

            #9d4edd

        );

    color:#fff;

}

.comm-contact p{

    color:rgba(255,255,255,.9);

}

.comm-contact i{

    background:rgba(255,255,255,.15);

    color:#fff;

}


/* ==========================================================
   LOADING
========================================================== */

.comm-loading{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    min-height:350px;

    gap:20px;

    color:var(--comm-primary);

}

.comm-loading i{

    font-size:60px;

}


/* ==========================================================
   ANIMATIONS
========================================================== */

@keyframes commFade{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.comm-card,

.comm-detail-card,

.comm-strip-card{

    animation:commFade .45s ease;

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1200px){

    .comm-grid{

        grid-template-columns:

            repeat(auto-fill,minmax(320px,1fr));

    }

    .comm-strip{

        grid-template-columns:1fr;

    }

}


@media(max-width:900px){

    .comm-hero{

        padding:70px 40px;

    }

    .comm-hero h1{

        font-size:3rem;

    }

    .comm-detail-content{

        padding:40px;

    }

    .comm-detail-title{

        font-size:2.4rem;

    }

}


@media(max-width:700px){

    .comm-grid{

        grid-template-columns:1fr;

    }

    .comm-toolbar{

        margin-top:0;

    }

    .comm-search{

        padding:18px;

    }

    .comm-hero{

        padding:60px 28px;

        border-radius:22px;

        width: 95%;

    }

    .comm-hero h1{

        font-size:2.4rem;

    }

    .comm-hero p{

        font-size:1rem;

    }

    .comm-card-body{

        padding:24px;

    }

    .comm-detail-content{

        padding:28px;

    }

    .comm-detail-title{

        font-size:2rem;

    }

    .comm-actions{

        flex-direction:column;

    }

    .comm-btn{

        width:100%;

    }

}


@media(max-width:480px){

    .comm-hero{

        margin:20px auto;

        padding:45px 20px;

        width: 95%;

    }

    .comm-hero h1{

        font-size:2rem;

    }

    .comm-detail-wrapper{

        margin:25px auto;

    }

    .comm-detail-content{

        padding:22px;

    }

    .comm-detail-title{

        font-size:1.7rem;

    }

    .comm-detail-meta{

        flex-direction:column;

        gap:10px;

    }

    .comm-strip-card{

        padding:28px;

    }

}


/* ==========================================================
   PRINT
========================================================== */

@media print{

    .comm-toolbar,

    .comm-actions,

    .comm-strip,

    .comm-related{

        display:none !important;

    }

    .comm-detail-card{

        box-shadow:none;

        border:none;

    }

    body{

        background:#fff;

    }

}

.comm-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:4px 10px;

    border-radius:999px;

    background:#edf4ff;

    color:var(--comm-primary);

    font-size:.78rem;

    font-weight:600;

    white-space:nowrap;

}

.comm-card-date{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:12px;

    flex-wrap:wrap;

}

/* ==========================================================
   PUBLIC WEBSITE LAYOUT
========================================================== */

.site-container{

    width:min(1280px,92%);

    margin:auto;

}

.site-header{

    position:sticky;

    top:0;

    z-index:1000;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(20,60,120,.08);

    transition:.35s;

}

.site-header.scrolled{

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.site-header .site-container{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

    min-height:82px;

}

.site-brand{

    display:flex;

    align-items:center;

    gap:16px;

    text-decoration:none;

    color:inherit;

    flex-shrink:0;

}

.site-logo{

    width:62px;

    height:62px;

    object-fit:contain;

}

.site-brand-text{

    display:flex;

    flex-direction:column;

    gap:3px;

}

.site-brand-text h1{

    margin:0;

    font-size:1.65rem;

    font-weight:800;

    color:#173a6a;

    line-height:1.15;

}

.site-brand-text span{

    color:#6f7e97;

    font-size:.93rem;

}

.site-navigation{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    flex:1;

}

.site-navigation a{

    color:#34527d;

    text-decoration:none;

    font-weight:600;

    padding:12px 18px;

    border-radius:999px;

    transition:.25s;

}

.site-navigation a:hover{

    background:#eef5ff;

    color:#1467ff;

}

.site-navigation a.active{

    background:linear-gradient(135deg,#1467ff,#1fb7ff);

    color:#fff;

    box-shadow:0 10px 24px rgba(20,103,255,.25);

}

.site-actions{

    display:flex;

    align-items:center;

    gap:14px;

}

.site-login{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:118px;

    height:48px;

    border-radius:999px;

    text-decoration:none;

    font-weight:700;

    color:#fff;

    background:linear-gradient(135deg,#1467ff,#1fb7ff);

    box-shadow:0 12px 28px rgba(20,103,255,.25);

    transition:.3s;

}

.site-login:hover{

    transform:translateY(-2px);

}

.site-menu-button{

    display:none;

    width:48px;

    height:48px;

    border:none;

    border-radius:14px;

    background:#eef5ff;

    color:#1467ff;

    font-size:1.55rem;

    cursor:pointer;

}

.site-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.35);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:998;

}

.site-overlay.show{

    opacity:1;

    visibility:visible;

}

.site-drawer{

    position:fixed;

    top:0;

    right:-340px;

    width:320px;

    height:100vh;

    background:#fff;

    display:flex;

    flex-direction:column;

    box-shadow:-20px 0 45px rgba(0,0,0,.18);

    transition:.35s;

    z-index:999;

}

.site-drawer.open{

    right:0;

}

.site-drawer-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:24px;

    border-bottom:1px solid #eef2f8;

}

.site-drawer-logo{

    width:64px;

}

.site-close{

    width:42px;

    height:42px;

    border:none;

    border-radius:12px;

    background:#eef5ff;

    color:#1467ff;

    font-size:1.4rem;

    cursor:pointer;

}

.site-drawer-links{

    display:flex;

    flex-direction:column;

    padding:22px;

    gap:8px;

}

.site-drawer-links a{

    display:flex;

    align-items:center;

    gap:14px;

    text-decoration:none;

    color:#2d4d76;

    padding:15px 18px;

    border-radius:14px;

    font-weight:600;

    transition:.25s;

}

.site-drawer-links a:hover{

    background:#eef5ff;

    color:#1467ff;

}

.site-drawer-footer{

    margin-top:auto;

    padding:24px;

}

.mobile-login{

    width:100%;

}

body.drawer-open{

    overflow:hidden;

}

/* ==========================================================
   FOOTER
========================================================== */

.site-footer{

    margin-top:100px;

    background:

        linear-gradient(

            135deg,

            #0d2748,

            #173f72

        );

    color:#ffffff;

}

.site-footer .site-container{

    padding:70px 0 25px;

}

.site-footer-grid{

    display:grid;

    grid-template-columns:

        2fr 1fr 1fr 1fr;

    gap:50px;

}

.site-footer-logo{

    width:90px;

    height:90px;

    object-fit:contain;

    margin-bottom:20px;

}

.site-footer h3{

    margin:0 0 16px;

    font-size:1.45rem;

    font-weight:700;

}

.site-footer h4{

    margin:0 0 20px;

    font-size:1.05rem;

    color:#ffffff;

}

.site-footer p{

    margin:0 0 14px;

    line-height:1.8;

    color:rgba(255,255,255,.82);

}

.site-footer a{

    display:block;

    margin-bottom:14px;

    color:rgba(255,255,255,.82);

    text-decoration:none;

    transition:.25s;

}

.site-footer a:hover{

    color:#ffffff;

    transform:translateX(4px);

}

.site-social{

    display:flex;

    gap:14px;

    margin-top:18px;

}

.site-social a{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    color:#ffffff;

    font-size:1.25rem;

    margin:0;

}

.site-social a:hover{

    background:#ffffff;

    color:#1467ff;

    transform:translateY(-3px);

}

.site-copyright{

    margin-top:55px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.12);

    text-align:center;

    color:rgba(255,255,255,.72);

    font-size:.9rem;

}

.site-developer{display:block;margin-top:10px;color:#fff}.site-developer a{color:#fff;text-decoration:underline;text-underline-offset:3px}.site-header .site-container{width:min(1340px,96%);gap:16px}.site-brand{min-width:0}.site-brand-text h1{white-space:nowrap}.site-navigation{min-width:0;gap:2px}.site-navigation a{padding:10px 11px}.site-actions{flex:0 0 auto;gap:7px;max-width:42%;overflow:visible}.site-actions .site-login{min-width:44px;padding:0 13px;white-space:nowrap;border:0}.site-actions .user-logout{background:#075f9d;color:#fff}.site-actions .admin-switch{background:#102f55;color:#fff}
@media(max-width:1200px) and (min-width:901px){.site-brand-text h1{font-size:1.25rem}.site-brand-text span{font-size:.78rem}.site-logo{width:52px;height:52px}.site-navigation a{padding:9px 8px;font-size:.86rem}.site-actions .site-login span{display:none}.site-actions .site-login{width:44px;padding:0}}
@media(max-width:900px){.site-header .site-container{display:grid;grid-template-columns:minmax(0,1fr) auto}.site-actions{max-width:none;justify-self:end}.site-actions>.site-login{display:none}.site-menu-button{margin-left:0}.site-drawer-footer{display:grid;gap:10px}.site-drawer-footer .site-login{display:flex!important;width:100%}}

/* Account header: navigation is always available from the collapsible drawer. */
.site-navigation{display:none!important}.site-menu-button{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;margin:0;border-radius:12px}.site-header .site-container{display:flex;flex-wrap:nowrap}.site-actions{margin-left:auto;max-width:none}.site-actions>.site-login{display:inline-flex!important}.site-actions .site-login span{display:inline}.site-drawer{z-index:1200}.site-overlay{z-index:1190}
@media(max-width:760px){.site-header .site-container{display:grid!important;grid-template-columns:minmax(0,1fr) 46px;padding:9px 0}.site-brand-text h1{white-space:normal;font-size:clamp(14px,4vw,19px)}.site-brand-text span{font-size:10px}.site-logo{width:46px;height:46px}.site-menu-button{grid-column:2;grid-row:1;justify-self:end}.site-actions{grid-column:1/-1;grid-row:2;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.site-actions>.site-login{display:flex!important;min-width:0!important;width:100%;height:40px;padding:0 7px!important;font-size:clamp(10px,2.8vw,13px);white-space:normal;text-align:center}.site-actions .site-login span{display:inline}.site-actions .site-login i{flex:0 0 auto}.site-actions>.admin-switch:only-of-type{grid-column:auto}}
@media(max-width:420px){.site-brand{gap:8px}.site-actions .site-login{font-size:10px}.site-actions .site-login i{display:none}}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:1100px){

    .site-navigation{

        gap:4px;

    }

    .site-navigation a{

        padding:10px 14px;

        font-size:.95rem;

    }

    .site-footer-grid{

        grid-template-columns:

            repeat(2,1fr);

    }

}


@media (max-width:900px){

    .site-navigation{

        display:none;

    }

    .site-menu-button{

        display:flex;

        align-items:center;

        justify-content:center;

    }

    .site-brand-text h1{

        font-size:1.3rem;

    }

    .site-brand-text span{

        font-size:.82rem;

    }

}


@media (max-width:768px){

    .site-header .site-container{

        min-height:72px;

    }

    .site-logo{

        width:52px;

        height:52px;

    }

    .site-login{

        display:none;

    }

    .site-footer-grid{

        grid-template-columns:1fr;

        gap:40px;

    }

}


@media (max-width:560px){

    .site-container{

        width:94%;

    }

    .site-brand{

        gap:12px;

    }

    .site-logo{

        width:46px;

        height:46px;

    }

    .site-brand-text h1{

        font-size:1.05rem;

    }

    .site-brand-text span{

        display:none;

    }

    .site-drawer{

        width:100%;

        right:-100%;

    }

}


/* ==========================================================
   SMALL POLISH
========================================================== */

.site-navigation a,

.site-login,

.site-menu-button,

.site-close,

.site-social a{

    transition:

        all .28s ease;

}

.site-navigation a:active,

.site-login:active,

.site-menu-button:active{

    transform:scale(.96);

}

.site-header,

.site-footer{

    width:100%;

}

.comm-detail-header{
    max-width:1200px;
    margin:40px auto 24px;
    padding:0 24px;
}

.comm-back{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:12px 22px;

    border-radius:999px;

    background:#fff;

    color:#0d4ed8;

    font-weight:700;

    text-decoration:none;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.3s;
}

.comm-back:hover{

    transform:translateY(-2px);

    background:#0d4ed8;

    color:#fff;

}

.comm-detail-card{

    max-width:1100px;

    margin:auto;

    overflow:hidden;

}

.comm-detail-content{

    padding:45px 55px;

}

.comm-detail-meta{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

    margin-bottom:20px;

    color:#64748b;

    font-size:.95rem;

}

.comm-detail-title{

    margin:0 0 25px;

    font-size:3rem;

    line-height:1.15;

    color:#16386a;

}

.comm-detail-text{

    font-size:1.12rem;

    line-height:2;

    color:#475569; 

}

.comm-actions{

    display:flex;

    gap:18px;

    margin-top:40px;

    flex-wrap:wrap;

}

.comm-primary,

.comm-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    height:56px;

    padding:0 34px;

    border-radius:999px;

    font-weight:700;

    text-decoration:none;

    cursor:pointer;

    transition:.3s;

}

.comm-primary{

    border:none;

    background:linear-gradient(90deg,#1664ea,#1ca8f0);

    color:#fff;

}

.comm-primary:hover{

    transform:translateY(-3px);

}

.comm-secondary{

    background:#eef4ff;

    color:#1664ea;

    border:none;

}

.comm-secondary:hover{

    background:#1664ea;

    color:#fff;

}

.comm-lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.94);

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    visibility:hidden;

    transition:.25s;

    z-index:99999;

}

.comm-lightbox.show{

    opacity:1;

    visibility:visible;

}

.comm-lightbox img{

    max-width:95vw;

    max-height:92vh;

    border-radius:12px;

    box-shadow:0 30px 90px rgba(0,0,0,.5);

}

#commLightboxClose{

    position:absolute;

    top:30px;

    right:35px;

    width:52px;

    height:52px;

    border:none;

    border-radius:50%;

    background:#fff;

    color:#111;

    font-size:32px;

    cursor:pointer;

}

/* ==========================================================
   ADMIN COMMUNICATIONS — aligned with dashboard cards
========================================================== */
.dashboard .cms-shell,.dashboard .cms-overview,.dashboard .cms-history{margin-bottom:28px}.dashboard .cms-card,.dashboard .cms-stat-card,.dashboard .announcement-card{background:#fff;border:1px solid #e3ebf5;border-radius:18px;box-shadow:0 12px 30px rgba(15,42,75,.06)}.dashboard .cms-card{padding:28px}.dashboard .cms-header,.dashboard .cms-overview-header,.dashboard .cms-history-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.dashboard .cms-header h2,.dashboard .cms-overview h2,.dashboard .cms-history h2{color:#17365d;margin:0 0 8px}.dashboard .cms-header p,.dashboard .cms-overview p,.dashboard .cms-history p{color:#62778e;line-height:1.55;margin:0}.dashboard .cms-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dashboard .cms-column{display:grid;gap:17px}.dashboard .cms-field{display:grid;gap:8px}.dashboard .cms-field label{font-size:.87rem;font-weight:750;color:#294a6e}.dashboard .cms-field input,.dashboard .cms-field select,.dashboard .cms-field textarea{width:100%;border:1px solid #d9e5f2;border-radius:11px;padding:12px 13px;color:#17365d;font:inherit;background:#fff;outline:none}.dashboard .cms-field textarea{resize:vertical;min-height:140px}.dashboard .cms-field input:focus,.dashboard .cms-field select:focus,.dashboard .cms-field textarea:focus{border-color:#0057d9;box-shadow:0 0 0 3px #0057d91a}.dashboard .cms-upload{margin-top:22px}.dashboard .cms-upload-area{border:1.5px dashed #9fc0e5;border-radius:14px;padding:30px;text-align:center;color:#53718e;background:#f8fbff;cursor:pointer}.dashboard .cms-upload-area i{font-size:2rem;color:#0057d9}.dashboard .cms-actions{display:flex;justify-content:flex-end;gap:11px;margin-top:22px}.dashboard .cms-overview,.dashboard .cms-history{background:#fff;border:1px solid #e3ebf5;border-radius:18px;padding:28px}.dashboard .cms-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.dashboard .cms-stat-card{display:flex;align-items:center;gap:12px;padding:16px}.dashboard .cms-stat-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#e7f0ff;color:#0057d9}.dashboard .cms-stat-icon.success{background:#e9f9ef;color:#16834b}.dashboard .cms-stat-icon.warning{background:#fff4dc;color:#b57500}.dashboard .cms-stat-icon.info{background:#e8f7ff;color:#0087be}.dashboard .cms-stat-icon.archive{background:#f1edf9;color:#6e4ab1}.dashboard .cms-stat-card h3{font-size:1.3rem;color:#17365d;margin:0}.dashboard .cms-stat-card span{font-size:.78rem;color:#698097}.dashboard .cms-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}.dashboard .cms-search{display:flex;align-items:center;gap:9px;border:1px solid #d9e5f2;border-radius:11px;padding:0 12px;background:#fff;min-width:270px}.dashboard .cms-search input{border:0;outline:0;padding:11px 0;width:100%;font:inherit}.dashboard .filters,.dashboard .cms-filters{display:flex;flex-wrap:wrap;gap:8px}.dashboard .filter{border:1px solid #d9e5f2;background:#fff;color:#53718e;border-radius:999px;padding:8px 13px;cursor:pointer;font-weight:700}.dashboard .filter.active{background:#0057d9;border-color:#0057d9;color:#fff}.dashboard .announcement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.dashboard .announcement-card{overflow:hidden}.dashboard .announcement-body{padding:17px}.dashboard .announcement-title{color:#17365d;margin:10px 0}.dashboard .announcement-caption{color:#62778e;line-height:1.5}.dashboard .announcement-actions{display:flex;gap:8px;margin-top:15px}.dashboard .preview-btn,.dashboard .edit-btn,.dashboard .delete-btn{border:0;border-radius:9px;padding:8px 10px;cursor:pointer;font-weight:700}.dashboard .preview-btn{background:#e7f0ff;color:#0057d9}.dashboard .edit-btn{background:#eef9f1;color:#16834b}.dashboard .delete-btn{background:#fff0ef;color:#c0392b}@media(max-width:1000px){.dashboard .cms-stat-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.dashboard .cms-grid{grid-template-columns:1fr}.dashboard .cms-stat-grid{grid-template-columns:1fr 1fr}.dashboard .cms-toolbar,.dashboard .cms-header{align-items:stretch;flex-direction:column}.dashboard .cms-search{min-width:0}}
