/* ===== AUTH PAGES ===== */

body.auth-page{
    min-height:100vh;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px 18px;
    background:
        radial-gradient(circle at top left, rgba(47,142,244,.12), transparent 24%),
        radial-gradient(circle at top right, rgba(34,197,94,.10), transparent 22%),
        linear-gradient(180deg, #F3F7FC 0%, #EAF1F8 100%);
}

body.theme-dark.auth-page{
    background:
        radial-gradient(circle at top left, rgba(96,165,250,.12), transparent 24%),
        radial-gradient(circle at top right, rgba(34,197,94,.10), transparent 22%),
        linear-gradient(180deg, #081325 0%, #0B1830 100%);
}

.auth-shell{
    width:min(1100px, 100%);
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:26px;
    align-items:stretch;
}

.auth-hero,
.auth-card{
    border-radius:28px;
    border:1px solid rgba(148,163,184,.16);
    box-shadow:0 18px 42px rgba(28,52,84,.12);
}

.auth-hero{
    padding:34px 32px;
    color:#0F172A;
    background:
        radial-gradient(circle at 20% 18%, rgba(47,142,244,.18), transparent 22%),
        radial-gradient(circle at 85% 22%, rgba(34,197,94,.12), transparent 18%),
        linear-gradient(180deg, #FFFFFF 0%, #F4F8FD 100%);
    position:relative;
    overflow:hidden;
}

body.theme-dark .auth-hero{
    color:#F8FAFC;
    background:
        radial-gradient(circle at 20% 18%, rgba(96,165,250,.16), transparent 22%),
        radial-gradient(circle at 85% 22%, rgba(34,197,94,.10), transparent 18%),
        linear-gradient(180deg, #0F1B31 0%, #0B172B 100%);
    box-shadow:0 18px 42px rgba(0,0,0,.28);
}

.auth-brand{
    font-size:34px;
    font-weight:900;
    letter-spacing:-.4px;
    margin-bottom:10px;
    color:#2F6EA5;
}

body.theme-dark .auth-brand{
    color:#7CC3FF;
}

.auth-title{
    font-size:42px;
    font-weight:900;
    line-height:1.05;
    margin:18px 0 12px;
    letter-spacing:-.8px;
}

.auth-subtitle{
    font-size:18px;
    line-height:1.55;
    color:#475569;
    max-width:620px;
    margin-bottom:28px;
}

body.theme-dark .auth-subtitle{
    color:#A7B5C9;
}

.auth-points{
    display:grid;
    gap:12px;
    margin-top:18px;
}

.auth-point{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
    border-radius:18px;
    background:rgba(255,255,255,.6);
    border:1px solid rgba(47,142,244,.10);
}

body.theme-dark .auth-point{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(148,163,184,.12);
}

.auth-point-icon{
    width:38px;
    height:38px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:900;
    color:#2F8EF4;
    background:rgba(47,142,244,.10);
    flex:0 0 auto;
}

body.theme-dark .auth-point-icon{
    color:#8CC7FF;
    background:rgba(96,165,250,.10);
}

.auth-point-text strong{
    display:block;
    margin-bottom:4px;
    font-size:14px;
}

.auth-point-text span{
    color:#5B6472;
    font-size:13px;
    line-height:1.45;
}

body.theme-dark .auth-point-text span{
    color:#9FB0C7;
}

.auth-card{
    padding:30px 28px;
    background:#FFFFFF;
    position:relative;
    overflow:hidden;
}

body.theme-dark .auth-card{
    background:#0F172A;
    box-shadow:0 18px 42px rgba(0,0,0,.28);
}

.auth-card h1{
    margin:0 0 8px;
    font-size:28px;
    font-weight:900;
    letter-spacing:-.4px;
    color:#111827;
}

body.theme-dark .auth-card h1{
    color:#F8FAFC;
}

.auth-card p{
    margin:0 0 18px;
    color:#5B6472;
    line-height:1.55;
    font-size:15px;
}

body.theme-dark .auth-card p{
    color:#9FB0C7;
}

.auth-form{
    display:grid;
    gap:14px;
}

.auth-links{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-top:6px;
    flex-wrap:wrap;
}

.auth-actions{
    display:flex;
    gap:12px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    margin-top:10px;
}

.auth-actions .btn-primary,
.auth-actions .panel-link-btn{
    min-width:146px;
    justify-content:center;
}

.auth-switch{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:10px;
}

.auth-switch .panel-link-btn{
    min-width:170px;
    justify-content:center;
}

.auth-result{
    margin-top:14px;
    min-height:22px;
    font-size:13px;
    color:#B91C1C;
    white-space:pre-wrap;
}

body.theme-dark .auth-result{
    color:#FCA5A5;
}

.auth-card input{
    min-height:52px;
}

.auth-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:800;
    padding:7px 12px;
    border-radius:999px;
    background:#EAF4FF;
    color:#2C6EB5;
    border:1px solid rgba(47,142,244,.14);
    margin-bottom:14px;
}

body.theme-dark .auth-badge{
    background:rgba(96,165,250,.08);
    color:#93C5FD;
    border:1px solid rgba(96,165,250,.16);
}

.auth-card .muted-link{
    color:#5B6472;
    font-size:13px;
    text-decoration:none;
    font-weight:700;
}

.auth-card .muted-link:hover{
    color:#2F8EF4;
}

body.theme-dark .auth-card .muted-link{
    color:#9FB0C7;
}

body.theme-dark .auth-card .muted-link:hover{
    color:#8CC7FF;
}

@media (max-width: 980px){
    .auth-shell{
        grid-template-columns:1fr;
    }

    .auth-hero{
        padding:26px 22px;
    }

    .auth-title{
        font-size:34px;
    }

    .auth-card{
        padding:24px 20px;
    }
}

/* ===== CUSTOMER ENTRY LANDING ===== */
body.customer-entry-page{
    display:block !important;
    min-height:100vh;
    padding:0 !important;
}

.customer-entry-wrap{
    width:min(1380px, calc(100% - 40px));
    margin:38px auto 46px;
}

.customer-auth-section{
    margin-bottom:30px;
}

.customer-entry-page .auth-shell{
    width:100%;
    max-width:none;
}

.customer-entry-page .auth-card{
    min-height:100%;
}

.public-section{
    margin-top:26px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(47,142,244,.10);
    border-radius:28px;
    padding:28px 26px;
    box-shadow:0 16px 34px rgba(28,52,84,.08);
    backdrop-filter:blur(10px);
}

body.theme-dark .public-section{
    background:rgba(15,23,42,.72);
    border:1px solid rgba(148,163,184,.14);
    box-shadow:0 18px 40px rgba(0,0,0,.22);
}

.public-section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    margin-bottom:18px;
    flex-wrap:wrap;
}

.public-section-header h2{
    margin:0;
    font-size:30px;
    font-weight:900;
    letter-spacing:-.5px;
    color:#0F172A;
}

body.theme-dark .public-section-header h2{
    color:#F8FAFC;
}

.public-section-header p{
    margin:0;
    color:#5B6472;
    font-size:15px;
    line-height:1.55;
    max-width:760px;
}

body.theme-dark .public-section-header p{
    color:#9FB0C7;
}

.public-info-grid,
.public-contact-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(240px, 1fr));
    gap:18px;
}

.public-info-card,
.public-contact-card,
.public-plan-card{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    border:1px solid rgba(47,142,244,.10);
    background:rgba(255,255,255,.78);
    padding:20px 18px;
    box-shadow:0 12px 28px rgba(28,52,84,.06);
}

body.theme-dark .public-info-card,
body.theme-dark .public-contact-card,
body.theme-dark .public-plan-card{
    background:rgba(17,28,47,.82);
    border:1px solid rgba(148,163,184,.12);
    box-shadow:0 14px 28px rgba(0,0,0,.20);
}

.public-info-icon,
.public-contact-icon{
    width:48px;
    height:48px;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:14px;
    background:rgba(47,142,244,.10);
    color:#2F8EF4;
}

body.theme-dark .public-info-icon,
body.theme-dark .public-contact-icon{
    background:rgba(96,165,250,.10);
    color:#8CC7FF;
}

.public-info-card h3,
.public-contact-card h3,
.public-plan-card h3{
    margin:0 0 8px;
    font-size:22px;
    font-weight:900;
    color:#0F172A;
}

body.theme-dark .public-info-card h3,
body.theme-dark .public-contact-card h3,
body.theme-dark .public-plan-card h3{
    color:#F8FAFC;
}

.public-info-card p,
.public-contact-card p,
.public-plan-card p{
    margin:0;
    color:#5B6472;
    font-size:15px;
    line-height:1.6;
}

body.theme-dark .public-info-card p,
body.theme-dark .public-contact-card p,
body.theme-dark .public-plan-card p{
    color:#9FB0C7;
}

.public-plans-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(250px, 1fr));
    gap:18px;
}

.public-plan-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
}

.public-plan-code{
    display:inline-flex;
    align-items:center;
    font-size:12px;
    font-weight:800;
    border-radius:999px;
    padding:6px 10px;
    background:#EAF4FF;
    color:#2C6EB5;
    border:1px solid rgba(47,142,244,.12);
}

body.theme-dark .public-plan-code{
    background:rgba(96,165,250,.10);
    color:#93C5FD;
    border:1px solid rgba(96,165,250,.16);
}

.public-plan-price{
    font-size:28px;
    font-weight:900;
    color:#0F172A;
    margin-bottom:10px;
}

body.theme-dark .public-plan-price{
    color:#F8FAFC;
}

.public-plan-speed{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.public-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:999px;
    padding:8px 12px;
    background:#F4F8FD;
    border:1px solid rgba(47,142,244,.10);
    color:#24496F;
    font-size:13px;
    font-weight:800;
}

body.theme-dark .public-chip{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(148,163,184,.12);
    color:#D8E4F3;
}

.public-plan-footer{
    margin-top:14px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.public-plan-footer .panel-link-btn{
    min-width:unset;
    padding:10px 14px !important;
}

.public-empty{
    border-radius:20px;
    padding:20px;
    background:rgba(255,255,255,.76);
    border:1px dashed rgba(47,142,244,.16);
    color:#5B6472;
}

body.theme-dark .public-empty{
    background:rgba(17,28,47,.76);
    border:1px dashed rgba(148,163,184,.16);
    color:#9FB0C7;
}

.public-anchor-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:18px;
}

.public-anchor-row .panel-link-btn{
    min-width:unset;
    padding:10px 14px !important;
}

@media (max-width: 1100px){
    .public-info-grid,
    .public-contact-grid,
    .public-plans-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 980px){
    .customer-entry-wrap{
        width:min(100%, calc(100% - 24px));
        margin:20px auto 28px;
    }

    .public-section{
        padding:22px 18px;
        border-radius:22px;
    }

    .public-section-header h2{
        font-size:25px;
    }
}

/* ===== CUSTOMER ENTRY LANDING ===== */
body.customer-entry-page{
    display:block !important;
    min-height:100vh;
    padding:0 !important;
}

.customer-entry-wrap{
    width:min(1380px, calc(100% - 40px));
    margin:38px auto 46px;
}

.customer-auth-section{
    margin-bottom:30px;
}

.customer-entry-page .auth-shell{
    width:100%;
    max-width:none;
}

.customer-entry-page .auth-card{
    min-height:100%;
}

.public-section{
    margin-top:26px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(47,142,244,.10);
    border-radius:28px;
    padding:28px 26px;
    box-shadow:0 16px 34px rgba(28,52,84,.08);
    backdrop-filter:blur(10px);
}

body.theme-dark .public-section{
    background:rgba(15,23,42,.72);
    border:1px solid rgba(148,163,184,.14);
    box-shadow:0 18px 40px rgba(0,0,0,.22);
}

.public-section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    margin-bottom:18px;
    flex-wrap:wrap;
}

.public-section-header h2{
    margin:0;
    font-size:30px;
    font-weight:900;
    letter-spacing:-.5px;
    color:#0F172A;
}

body.theme-dark .public-section-header h2{
    color:#F8FAFC;
}

.public-section-header p{
    margin:0;
    color:#5B6472;
    font-size:15px;
    line-height:1.55;
    max-width:760px;
}

body.theme-dark .public-section-header p{
    color:#9FB0C7;
}

.public-info-grid,
.public-contact-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(240px, 1fr));
    gap:18px;
}

.public-info-card,
.public-contact-card,
.public-plan-card{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    border:1px solid rgba(47,142,244,.10);
    background:rgba(255,255,255,.78);
    padding:20px 18px;
    box-shadow:0 12px 28px rgba(28,52,84,.06);
}

body.theme-dark .public-info-card,
body.theme-dark .public-contact-card,
body.theme-dark .public-plan-card{
    background:rgba(17,28,47,.82);
    border:1px solid rgba(148,163,184,.12);
    box-shadow:0 14px 28px rgba(0,0,0,.20);
}

.public-info-icon,
.public-contact-icon{
    width:48px;
    height:48px;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:14px;
    background:rgba(47,142,244,.10);
    color:#2F8EF4;
}

body.theme-dark .public-info-icon,
body.theme-dark .public-contact-icon{
    background:rgba(96,165,250,.10);
    color:#8CC7FF;
}

.public-info-card h3,
.public-contact-card h3,
.public-plan-card h3{
    margin:0 0 8px;
    font-size:22px;
    font-weight:900;
    color:#0F172A;
}

body.theme-dark .public-info-card h3,
body.theme-dark .public-contact-card h3,
body.theme-dark .public-plan-card h3{
    color:#F8FAFC;
}

.public-info-card p,
.public-contact-card p,
.public-plan-card p{
    margin:0;
    color:#5B6472;
    font-size:15px;
    line-height:1.6;
}

body.theme-dark .public-info-card p,
body.theme-dark .public-contact-card p,
body.theme-dark .public-plan-card p{
    color:#9FB0C7;
}

.public-plans-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(250px, 1fr));
    gap:18px;
}

.public-plan-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
}

.public-plan-code{
    display:inline-flex;
    align-items:center;
    font-size:12px;
    font-weight:800;
    border-radius:999px;
    padding:6px 10px;
    background:#EAF4FF;
    color:#2C6EB5;
    border:1px solid rgba(47,142,244,.12);
}

body.theme-dark .public-plan-code{
    background:rgba(96,165,250,.10);
    color:#93C5FD;
    border:1px solid rgba(96,165,250,.16);
}

.public-plan-price{
    font-size:28px;
    font-weight:900;
    color:#0F172A;
    margin-bottom:10px;
}

body.theme-dark .public-plan-price{
    color:#F8FAFC;
}

.public-plan-speed{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.public-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:999px;
    padding:8px 12px;
    background:#F4F8FD;
    border:1px solid rgba(47,142,244,.10);
    color:#24496F;
    font-size:13px;
    font-weight:800;
}

body.theme-dark .public-chip{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(148,163,184,.12);
    color:#D8E4F3;
}

.public-plan-footer{
    margin-top:14px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.public-plan-footer .panel-link-btn{
    min-width:unset;
    padding:10px 14px !important;
}

.public-empty{
    border-radius:20px;
    padding:20px;
    background:rgba(255,255,255,.76);
    border:1px dashed rgba(47,142,244,.16);
    color:#5B6472;
}

body.theme-dark .public-empty{
    background:rgba(17,28,47,.76);
    border:1px dashed rgba(148,163,184,.16);
    color:#9FB0C7;
}

.public-anchor-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:18px;
}

.public-anchor-row .panel-link-btn{
    min-width:unset;
    padding:10px 14px !important;
}

@media (max-width: 1100px){
    .public-info-grid,
    .public-contact-grid,
    .public-plans-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 980px){
    .customer-entry-wrap{
        width:min(100%, calc(100% - 24px));
        margin:20px auto 28px;
    }

    .public-section{
        padding:22px 18px;
        border-radius:22px;
    }

    .public-section-header h2{
        font-size:25px;
    }
}

/* ===== CONNECTCANCUN CUSTOMER ENTRY V2 ===== */
.customer-entry-page{
    display:block !important;
    min-height:100vh;
    padding:0 !important;
}

.customer-entry-wrap{
    width:min(1380px, calc(100% - 34px));
    margin:26px auto 42px;
}

.entry-topnav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
    padding:14px 18px;
    border-radius:22px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(47,142,244,.10);
    box-shadow:0 12px 28px rgba(28,52,84,.08);
    backdrop-filter:blur(10px);
}

body.theme-dark .entry-topnav{
    background:rgba(15,23,42,.76);
    border:1px solid rgba(148,163,184,.14);
    box-shadow:0 16px 32px rgba(0,0,0,.22);
}

.entry-topnav-brand{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:14px;
    font-weight:900;
    color:#0F172A;
}

body.theme-dark .entry-topnav-brand{
    color:#F8FAFC;
}

.entry-topnav-links{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.entry-topnav-links a{
    text-decoration:none;
}

.customer-entry-hero{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:24px;
    align-items:stretch;
    margin-bottom:28px;
}

.entry-hero-card,
.entry-login-card,
.public-section{
    border-radius:28px;
    border:1px solid rgba(47,142,244,.10);
    box-shadow:0 16px 34px rgba(28,52,84,.08);
    overflow:hidden;
}

.entry-hero-card{
    position:relative;
    background:
        radial-gradient(circle at 15% 20%, rgba(47,142,244,.14), transparent 24%),
        radial-gradient(circle at 88% 20%, rgba(34,197,94,.10), transparent 18%),
        linear-gradient(180deg, #FFFFFF 0%, #F4F8FD 100%);
    padding:34px 32px;
}

body.theme-dark .entry-hero-card{
    background:
        radial-gradient(circle at 15% 20%, rgba(96,165,250,.14), transparent 24%),
        radial-gradient(circle at 88% 20%, rgba(34,197,94,.10), transparent 18%),
        linear-gradient(180deg, #0F1B31 0%, #0B172B 100%);
    border:1px solid rgba(148,163,184,.14);
    box-shadow:0 18px 40px rgba(0,0,0,.24);
}

.entry-hero-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:800;
    padding:7px 12px;
    border-radius:999px;
    background:#EAF4FF;
    color:#2C6EB5;
    border:1px solid rgba(47,142,244,.14);
    margin-bottom:16px;
}

body.theme-dark .entry-hero-badge{
    background:rgba(96,165,250,.08);
    color:#93C5FD;
    border:1px solid rgba(96,165,250,.16);
}

.entry-hero-title{
    margin:0 0 14px;
    font-size:46px;
    line-height:1.03;
    font-weight:900;
    letter-spacing:-.9px;
    color:#0F172A;
    max-width:760px;
}

body.theme-dark .entry-hero-title{
    color:#F8FAFC;
}

.entry-hero-text{
    margin:0 0 18px;
    font-size:17px;
    line-height:1.7;
    color:#475569;
    max-width:760px;
}

body.theme-dark .entry-hero-text{
    color:#A7B5C9;
}

.entry-highlight-row{
    display:grid;
    grid-template-columns:repeat(3, minmax(190px, 1fr));
    gap:14px;
    margin-top:20px;
}

.entry-highlight{
    border-radius:20px;
    border:1px solid rgba(47,142,244,.10);
    background:rgba(255,255,255,.68);
    padding:16px 16px 14px;
}

body.theme-dark .entry-highlight{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(148,163,184,.12);
}

.entry-highlight strong{
    display:block;
    margin-bottom:6px;
    font-size:14px;
    color:#0F172A;
}

body.theme-dark .entry-highlight strong{
    color:#F8FAFC;
}

.entry-highlight span{
    display:block;
    font-size:13px;
    line-height:1.55;
    color:#5B6472;
}

body.theme-dark .entry-highlight span{
    color:#9FB0C7;
}

.entry-login-card{
    background:#FFFFFF;
    padding:28px 26px;
}

body.theme-dark .entry-login-card{
    background:#0F172A;
    border:1px solid rgba(148,163,184,.14);
    box-shadow:0 18px 40px rgba(0,0,0,.24);
}

.entry-login-card h1{
    margin:0 0 8px;
    font-size:28px;
    font-weight:900;
    letter-spacing:-.4px;
    color:#111827;
}

body.theme-dark .entry-login-card h1{
    color:#F8FAFC;
}

.entry-login-card p{
    margin:0 0 18px;
    color:#5B6472;
    line-height:1.6;
    font-size:15px;
}

body.theme-dark .entry-login-card p{
    color:#9FB0C7;
}

.entry-login-card .auth-badge{
    margin-bottom:14px;
}

.entry-login-card .auth-form{
    display:grid;
    gap:14px;
}

.entry-login-card .auth-form input{
    min-height:52px;
}

.entry-login-card .auth-actions{
    display:flex;
    gap:12px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    margin-top:10px;
}

.entry-login-card .auth-actions .btn-primary,
.entry-login-card .auth-actions .panel-link-btn{
    min-width:146px;
    justify-content:center;
}

.entry-login-card .auth-result{
    margin-top:14px;
    min-height:22px;
    font-size:13px;
    color:#B91C1C;
    white-space:pre-wrap;
}

body.theme-dark .entry-login-card .auth-result{
    color:#FCA5A5;
}

.public-section{
    margin-top:24px;
    background:rgba(255,255,255,.74);
    padding:28px 26px;
    backdrop-filter:blur(10px);
}

body.theme-dark .public-section{
    background:rgba(15,23,42,.74);
    border:1px solid rgba(148,163,184,.14);
    box-shadow:0 18px 40px rgba(0,0,0,.22);
}

.public-section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:20px;
}

.public-section-header h2{
    margin:0;
    font-size:30px;
    font-weight:900;
    letter-spacing:-.5px;
    color:#0F172A;
}

body.theme-dark .public-section-header h2{
    color:#F8FAFC;
}

.public-section-header p{
    margin:0;
    font-size:15px;
    line-height:1.65;
    color:#5B6472;
    max-width:840px;
}

body.theme-dark .public-section-header p{
    color:#9FB0C7;
}

.public-info-layout{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:18px;
}

.public-info-main,
.public-info-side,
.public-contact-card,
.public-plan-card{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    border:1px solid rgba(47,142,244,.10);
    background:rgba(255,255,255,.80);
    padding:22px 20px;
    box-shadow:0 12px 28px rgba(28,52,84,.06);
}

body.theme-dark .public-info-main,
body.theme-dark .public-info-side,
body.theme-dark .public-contact-card,
body.theme-dark .public-plan-card{
    background:rgba(17,28,47,.82);
    border:1px solid rgba(148,163,184,.12);
    box-shadow:0 14px 28px rgba(0,0,0,.20);
}

.public-info-main h3,
.public-info-side h3,
.public-contact-card h3,
.public-plan-card h3{
    margin:0 0 10px;
    font-size:24px;
    font-weight:900;
    color:#0F172A;
}

body.theme-dark .public-info-main h3,
body.theme-dark .public-info-side h3,
body.theme-dark .public-contact-card h3,
body.theme-dark .public-plan-card h3{
    color:#F8FAFC;
}

.public-info-main p,
.public-info-side p,
.public-contact-card p,
.public-plan-card p{
    margin:0 0 12px;
    color:#5B6472;
    font-size:15px;
    line-height:1.7;
}

body.theme-dark .public-info-main p,
body.theme-dark .public-info-side p,
body.theme-dark .public-contact-card p,
body.theme-dark .public-plan-card p{
    color:#9FB0C7;
}

.public-bullet-list{
    display:grid;
    gap:12px;
    margin-top:12px;
}

.public-bullet{
    display:flex;
    align-items:flex-start;
    gap:10px;
    border-radius:16px;
    padding:13px 14px;
    background:#F4F8FD;
    border:1px solid rgba(47,142,244,.08);
}

body.theme-dark .public-bullet{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(148,163,184,.10);
}

.public-bullet i{
    font-style:normal;
    font-size:16px;
    line-height:1;
    margin-top:2px;
    color:#2F8EF4;
}

body.theme-dark .public-bullet i{
    color:#8CC7FF;
}

.public-bullet span{
    color:#46566B;
    font-size:14px;
    line-height:1.6;
}

body.theme-dark .public-bullet span{
    color:#C2CFDE;
}

.public-note{
    margin-top:14px;
    border-radius:18px;
    padding:15px 16px;
    background:#FFF5E8;
    border:1px solid rgba(240,162,60,.18);
    color:#8A5B19;
    font-size:14px;
    line-height:1.6;
    font-weight:700;
}

body.theme-dark .public-note{
    background:rgba(240,162,60,.10);
    border:1px solid rgba(240,162,60,.18);
    color:#F7C97F;
}

.public-plans-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(250px, 1fr));
    gap:18px;
}

.public-plan-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
}

.public-plan-code{
    display:inline-flex;
    align-items:center;
    font-size:12px;
    font-weight:800;
    border-radius:999px;
    padding:6px 10px;
    background:#EAF4FF;
    color:#2C6EB5;
    border:1px solid rgba(47,142,244,.12);
}

body.theme-dark .public-plan-code{
    background:rgba(96,165,250,.10);
    color:#93C5FD;
    border:1px solid rgba(96,165,250,.16);
}

.public-plan-price{
    font-size:28px;
    font-weight:900;
    color:#0F172A;
    margin-bottom:10px;
}

body.theme-dark .public-plan-price{
    color:#F8FAFC;
}

.public-plan-speed{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.public-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:999px;
    padding:8px 12px;
    background:#F4F8FD;
    border:1px solid rgba(47,142,244,.10);
    color:#24496F;
    font-size:13px;
    font-weight:800;
}

body.theme-dark .public-chip{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(148,163,184,.12);
    color:#D8E4F3;
}

.public-plan-footer{
    margin-top:14px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.public-contact-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(280px, 1fr));
    gap:18px;
}

.public-contact-label{
    display:block;
    font-size:13px;
    font-weight:800;
    color:#4D5F76;
    margin-bottom:8px;
}

body.theme-dark .public-contact-label{
    color:#B8C7D9;
}

.public-contact-value{
    display:block;
    font-size:16px;
    font-weight:800;
    color:#111827;
    word-break:break-word;
}

body.theme-dark .public-contact-value{
    color:#F8FAFC;
}

.public-contact-placeholder{
    display:inline-block;
    min-width:120px;
    min-height:22px;
}

.public-empty{
    border-radius:20px;
    padding:20px;
    background:rgba(255,255,255,.76);
    border:1px dashed rgba(47,142,244,.16);
    color:#5B6472;
}

body.theme-dark .public-empty{
    background:rgba(17,28,47,.76);
    border:1px dashed rgba(148,163,184,.16);
    color:#9FB0C7;
}

@media (max-width: 1180px){
    .customer-entry-hero,
    .public-info-layout,
    .public-plans-grid,
    .public-contact-grid{
        grid-template-columns:1fr;
    }

    .entry-highlight-row{
        grid-template-columns:1fr;
    }
}

@media (max-width: 980px){
    .customer-entry-wrap{
        width:min(100%, calc(100% - 18px));
        margin:14px auto 24px;
    }

    .entry-topnav{
        padding:12px 14px;
        border-radius:18px;
    }

    .entry-hero-card,
    .entry-login-card,
    .public-section{
        border-radius:22px;
    }

    .entry-hero-card{
        padding:24px 20px;
    }

    .entry-hero-title{
        font-size:34px;
    }

    .public-section{
        padding:22px 18px;
    }

    .public-section-header h2{
        font-size:24px;
    }
}
