@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;700;800;900&display=swap');

:root{
    --bg:#fff5f8;
    --bg-2:#fff0f6;
    --ink:#24141f;
    --muted:#8b6b7d;
    --card:#ffffff;
    --line:rgba(16,21,18,.10);
    --soft:#fbe3ec;

    --green:#d85b8a;
    --green-dark:#6f294f;
    --lime:#f3b7ca;
    --orange:#f59e0b;
    --red:#ef4444;

    --dark:#1c0f19;
    --dark-2:#2a1322;

    --radius-xl:34px;
    --radius-lg:26px;
    --radius-md:18px;

    --shadow-sm:0 10px 30px rgba(10,20,15,.06);
    --shadow-md:0 20px 60px rgba(10,20,15,.10);
    --shadow-lg:0 34px 90px rgba(10,20,15,.16);
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:'Vazirmatn',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    background:
        radial-gradient(circle at top left, rgba(243,183,202,.28) 0, transparent 34%),
        radial-gradient(circle at top right, rgba(216,91,138,.16) 0, transparent 30%),
        linear-gradient(180deg,#fff9fb 0%,var(--bg) 42%,#ffffff 100%);
    color:var(--ink);
    min-height:100vh;
    overflow-x:hidden;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(16,21,18,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16,21,18,.035) 1px, transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 68%);
    z-index:-1;
}

a{
    color:inherit;
    text-decoration:none;
}

img{
    max-width:100%;
}

::selection{
    background:var(--lime);
    color:var(--dark);
}

.fw-black{
    font-weight:900;
}

.text-muted{
    color:var(--muted)!important;
}

/* Navbar */

.glass-nav{
    position:sticky;
    top:0;
    z-index:1000;
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    background:rgba(255,255,255,.76);
    border-bottom:1px solid rgba(16,21,18,.08);
    box-shadow:0 10px 34px rgba(10,20,15,.045);
}

.navbar-brand{
    font-weight:900;
    letter-spacing:-.5px;
}

.nav-link{
    font-weight:700;
    color:rgba(16,21,18,.72)!important;
    border-radius:999px;
    padding:.55rem .95rem!important;
    transition:.2s ease;
}

.nav-link:hover,
.nav-link.active{
    color:var(--dark)!important;
    background:rgba(216,91,138,.10);
}

.nav-user{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:.42rem .95rem;
    border:1px solid rgba(16,21,18,.10);
    border-radius:999px;
    background:rgba(255,255,255,.85);
    box-shadow:var(--shadow-sm);
    font-size:.9rem;
    font-weight:800;
}

.nav-user::before{
    content:"●";
    color:var(--green);
    font-size:.72rem;
}

/* Buttons */

.btn{
    border-radius:999px;
    font-weight:900;
    padding:.78rem 1.22rem;
    border-width:1px;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.btn:hover{
    transform:translateY(-2px);
}

.btn:active{
    transform:translateY(0);
}

.btn-primary,
.btn-success,
.btn-dark{
    border:0;
    color:#fff!important;
    background:linear-gradient(135deg,var(--green),var(--green-dark));
    box-shadow:0 16px 34px rgba(216,91,138,.28);
}

.btn-primary:hover,
.btn-success:hover,
.btn-dark:hover{
    background:linear-gradient(135deg,#e77aa0,#6f294f);
    box-shadow:0 22px 48px rgba(216,91,138,.34);
}

.btn-outline-dark{
    border-color:rgba(16,21,18,.18);
    color:var(--dark)!important;
    background:rgba(255,255,255,.72);
}

.btn-outline-dark:hover{
    background:var(--dark);
    color:#fff!important;
    box-shadow:0 16px 34px rgba(10,20,15,.16);
}

.btn-warning{
    border:0;
    background:linear-gradient(135deg,#fbbf24,var(--orange));
    color:#111!important;
    box-shadow:0 16px 34px rgba(245,158,11,.26);
}

.btn-danger{
    border:0;
    background:linear-gradient(135deg,#fb7185,var(--red));
    color:#fff!important;
    box-shadow:0 16px 34px rgba(239,68,68,.24);
}

/* Hero */

.hero-wrap{
    padding:46px 0 28px;
}

.hero-card{
    position:relative;
    border:1px solid rgba(16,21,18,.08);
    background:
        linear-gradient(135deg,rgba(255,255,255,.95),rgba(246,255,241,.88)),
        radial-gradient(circle at 88% 12%,rgba(243,183,202,.42),transparent 32%);
    border-radius:var(--radius-xl);
    padding:42px;
    overflow:hidden;
    box-shadow:var(--shadow-lg);
}

.hero-card::before{
    content:"";
    position:absolute;
    width:310px;
    height:310px;
    right:-110px;
    top:-110px;
    border-radius:50%;
    background:linear-gradient(135deg,rgba(216,91,138,.23),rgba(243,183,202,.44));
    filter:blur(4px);
}

.hero-card::after{
    content:"FIT • COACH • PLAN";
    position:absolute;
    left:30px;
    bottom:20px;
    color:rgba(16,21,18,.045);
    font-size:42px;
    font-weight:900;
    letter-spacing:5px;
    pointer-events:none;
}

.hero-card h1,
.hero-card .display-1,
.hero-card .display-2,
.hero-card .display-3,
.hero-card .display-4{
    letter-spacing:-1.8px;
    line-height:1.15;
}

.hero-card p{
    color:rgba(16,21,18,.68);
    line-height:2;
    font-weight:500;
}

.min-vh-60{
    min-height:60vh;
}

.hero-img{
    width:100%;
    height:470px;
    object-fit:cover;
    border-radius:30px;
    box-shadow:0 30px 80px rgba(10,20,15,.22);
    border:8px solid rgba(255,255,255,.82);
    transform:rotate(-1.2deg);
    transition:.25s ease;
}

.hero-img:hover{
    transform:rotate(0deg) scale(1.015);
}

.hero-placeholder{
    height:470px;
    border-radius:30px;
    background:
        radial-gradient(circle at top left,rgba(243,183,202,.28),transparent 36%),
        linear-gradient(145deg,var(--dark),var(--dark-2));
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:18px;
    font-weight:900;
    box-shadow:0 30px 80px rgba(10,20,15,.24);
    border:8px solid rgba(255,255,255,.82);
}

.pulse-icon{
    width:108px;
    height:108px;
    display:grid;
    place-items:center;
    border-radius:32px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.12);
    font-size:70px;
    filter:drop-shadow(0 24px 34px rgba(243,183,202,.24));
    animation:pulseGlow 1.8s infinite ease-in-out;
}

@keyframes pulseGlow{
    0%,100%{
        transform:scale(1);
        box-shadow:0 0 0 0 rgba(243,183,202,.28);
    }
    50%{
        transform:scale(1.04);
        box-shadow:0 0 0 16px rgba(243,183,202,0);
    }
}

/* Cards */

.feature-card,
.pricing-card,
.panel-card,
.auth-card,
.empty-card{
    background:rgba(255,255,255,.88);
    border:1px solid rgba(16,21,18,.09);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-md);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.feature-card{
    position:relative;
    padding:32px 24px;
    height:100%;
    overflow:hidden;
    transition:.22s ease;
}

.feature-card::after{
    content:"";
    position:absolute;
    inset:auto -40px -70px auto;
    width:150px;
    height:150px;
    border-radius:50%;
    background:rgba(216,91,138,.09);
}

.feature-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-lg);
    border-color:rgba(216,91,138,.22);
}

.feature-icon{
    width:70px;
    height:70px;
    border-radius:24px;
    background:
        radial-gradient(circle at 30% 20%,rgba(243,183,202,.9),transparent 34%),
        linear-gradient(135deg,var(--green),var(--green-dark));
    color:white;
    display:grid;
    place-items:center;
    font-size:31px;
    margin:0 auto 18px;
    box-shadow:0 18px 38px rgba(216,91,138,.26);
}

.pricing-card{
    position:relative;
    padding:28px;
    transition:.22s ease;
    overflow:hidden;
}

.pricing-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:7px;
    background:linear-gradient(90deg,var(--green),var(--lime),var(--orange));
}

.pricing-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
    border-color:rgba(216,91,138,.22);
}

.min-h-48{
    min-height:48px;
}

.price-line{
    position:relative;
    font-weight:800;
    color:var(--muted);
    border:1px solid rgba(16,21,18,.08);
    background:linear-gradient(135deg,#fff7fa,#fff);
    border-radius:22px;
    padding:18px;
    margin:18px 0;
}

.price-line span{
    display:inline-block;
    font-size:42px;
    color:var(--dark);
    font-weight:900;
    letter-spacing:-1.5px;
}

.check-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:12px;
}

.check-list li{
    display:flex;
    align-items:flex-start;
    color:rgba(16,21,18,.78);
    line-height:1.8;
    font-weight:600;
}

.check-list li::before{
    content:'✓';
    flex:0 0 auto;
    display:inline-grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--green),var(--green-dark));
    color:white;
    margin-left:9px;
    font-size:13px;
    font-weight:900;
    box-shadow:0 10px 22px rgba(216,91,138,.20);
}

/* Page Head */

.page-head{
    padding:64px 0 30px;
    background:
        radial-gradient(circle at 15% 30%,rgba(243,183,202,.28),transparent 28%),
        linear-gradient(135deg,rgba(255,255,255,.92),rgba(238,247,239,.86));
    border-bottom:1px solid rgba(16,21,18,.07);
}

.page-head h1,
.page-head h2{
    font-weight:900;
    letter-spacing:-1px;
}

/* Auth */

.auth-section{
    padding:64px 0;
}

.auth-card{
    padding:36px;
    position:relative;
    overflow:hidden;
}

.auth-card::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    border-radius:50%;
    left:-80px;
    top:-80px;
    background:rgba(216,91,138,.12);
}

.form-label{
    font-weight:900;
    color:rgba(16,21,18,.76);
    margin-bottom:.55rem;
}

.form-control,
.form-select{
    border-radius:18px;
    border:1px solid rgba(16,21,18,.12);
    padding:.86rem 1rem;
    background:rgba(255,255,255,.82);
    font-weight:600;
    transition:.18s ease;
}

.form-control:focus,
.form-select:focus{
    box-shadow:0 0 0 .25rem rgba(216,91,138,.12);
    border-color:rgba(216,91,138,.7);
    background:#fff;
}

textarea.form-control{
    min-height:140px;
    line-height:1.9;
}

/* User Panel */

.panel-card{
    padding:28px;
}

.package-mini{
    border:1px solid rgba(16,21,18,.09);
    border-radius:22px;
    padding:20px;
    background:
        radial-gradient(circle at top right,rgba(243,183,202,.16),transparent 34%),
        #fbfdf9;
}

.status-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:.42rem .82rem;
    border-radius:999px;
    font-weight:900;
    font-size:.78rem;
    margin-top:10px;
}

.status-pending{
    background:#fff7d6;
    color:#8a5b00;
}

.status-pending::before{
    content:"●";
}

.status-active{
    background:#fde7f0;
    color:#7a2d57;
}

.status-active::before{
    content:"●";
}

.status-cancelled{
    background:#fee2e2;
    color:#991b1b;
}

.status-cancelled::before{
    content:"●";
}

.plan-card{
    position:relative;
    border:1px solid rgba(16,21,18,.09);
    background:#ffffff;
    border-radius:24px;
    padding:22px;
    box-shadow:var(--shadow-sm);
    overflow:hidden;
}

.plan-card::before{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:6px;
    height:100%;
    background:linear-gradient(180deg,var(--green),var(--lime));
}

.plan-card h5{
    font-weight:900;
    margin-bottom:12px;
    letter-spacing:-.3px;
}

.day-badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:.42rem .82rem;
    border-radius:999px;
    background:linear-gradient(135deg,var(--dark),#4a1d38);
    color:#fff;
    font-size:.78rem;
    font-weight:900;
    box-shadow:0 12px 26px rgba(10,20,15,.16);
}

.day-badge::before{
    content:"📅";
    font-size:.82rem;
}

.day-badge.meal-day{
    background:linear-gradient(135deg,#5a1d41,var(--green-dark));
}

.plan-card p{
    margin:0;
    line-height:2.05;
    color:#303a34;
    font-weight:500;
}

.plan-card.meal{
    background:
        radial-gradient(circle at top left,rgba(243,183,202,.12),transparent 34%),
        #fbfff9;
}

/* Footer */

.footer{
    background:rgba(255,255,255,.78);
    border-top:1px solid var(--line);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

/* Admin Layout */

.admin-shell{
    min-height:calc(100vh - 80px);
}

.admin-sidebar{
    background:
        radial-gradient(circle at top right,rgba(243,183,202,.18),transparent 30%),
        linear-gradient(180deg,var(--dark),#07100c);
    color:white;
    min-height:calc(100vh - 80px);
    padding:28px 18px;
    position:sticky;
    top:66px;
    align-self:flex-start;
    box-shadow:18px 0 50px rgba(10,20,15,.10);
}

.sidebar-title{
    font-weight:900;
    font-size:22px;
    margin-bottom:20px;
    padding:0 12px;
    letter-spacing:-.5px;
}

.admin-sidebar a{
    display:flex;
    align-items:center;
    gap:9px;
    color:rgba(255,255,255,.76);
    padding:13px 15px;
    border-radius:16px;
    margin-bottom:7px;
    font-weight:800;
    transition:.18s ease;
}

.admin-sidebar a:hover,
.admin-sidebar a.active{
    background:rgba(255,255,255,.10);
    color:white;
    transform:translateX(-3px);
}

.admin-content{
    padding:36px;
    background:
        radial-gradient(circle at top left,rgba(243,183,202,.15),transparent 28%),
        #f7f8f5;
    min-height:calc(100vh - 80px);
}

.stat-card{
    position:relative;
    background:#fff;
    border:1px solid rgba(16,21,18,.09);
    border-radius:26px;
    padding:24px;
    box-shadow:var(--shadow-md);
    overflow:hidden;
}

.stat-card::after{
    content:"";
    position:absolute;
    width:90px;
    height:90px;
    left:-34px;
    bottom:-34px;
    border-radius:50%;
    background:rgba(216,91,138,.10);
}

.stat-card span{
    display:block;
    color:var(--muted);
    font-size:.92rem;
    font-weight:800;
    margin-bottom:8px;
}

.stat-card strong{
    font-size:38px;
    font-weight:900;
    letter-spacing:-1px;
}

.admin-thumb{
    width:100%;
    height:190px;
    object-fit:cover;
    border-radius:22px;
    border:1px solid rgba(16,21,18,.10);
    box-shadow:var(--shadow-sm);
}

.plan-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    border:1px solid rgba(16,21,18,.09);
    border-radius:20px;
    padding:16px;
    background:#fff;
    box-shadow:var(--shadow-sm);
    transition:.18s ease;
}

.plan-row:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-md);
}

.max-w-260{
    max-width:260px;
}

/* Tables */

.table{
    vertical-align:middle;
}

.table>:not(caption)>*>*{
    padding:1rem .85rem;
}

.table thead th{
    color:rgba(16,21,18,.72);
    font-size:.86rem;
    font-weight:900;
    border-bottom:1px solid rgba(16,21,18,.10);
    background:#f8faf7;
}

.table tbody td{
    font-weight:600;
    color:rgba(16,21,18,.78);
}

.table-hover tbody tr{
    transition:.16s ease;
}

.table-hover tbody tr:hover{
    background:rgba(216,91,138,.055);
}

/* Badges */

.badge{
    border-radius:999px;
    padding:.48rem .72rem;
    font-weight:900;
}

.time-badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:.42rem .82rem;
    border-radius:999px;
    background:linear-gradient(135deg,#fbbf24,var(--orange));
    color:#111;
    font-size:.78rem;
    font-weight:900;
    box-shadow:0 12px 25px rgba(245,158,11,.20);
}

.time-badge::before{
    content:"⏰";
    font-size:.82rem;
}

/* Call Page */

.call-page{
    padding:34px 0;
}

.call-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}

.call-strip{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border:1px dashed rgba(16,21,18,.20);
    border-radius:22px;
    background:rgba(255,255,255,.88);
    padding:16px 18px;
    box-shadow:var(--shadow-sm);
}

.jitsi-box{
    width:100%;
    height:72vh;
    min-height:520px;
    background:
        radial-gradient(circle at top left,rgba(216,91,138,.18),transparent 30%),
        linear-gradient(145deg,var(--dark),var(--dark-2));
    border-radius:28px;
    overflow:hidden;
    box-shadow:var(--shadow-lg);
    border:1px solid rgba(255,255,255,.20);
}

/* Utility */

.empty-card{
    padding:34px;
    text-align:center;
    color:var(--muted);
}

.alert{
    border:0;
    border-radius:20px;
    font-weight:800;
    box-shadow:var(--shadow-sm);
}

.alert-success{
    background:#fde7f0;
    color:#7a2d57;
}

.alert-danger{
    background:#fee2e2;
    color:#991b1b;
}

.alert-warning{
    background:#fff7d6;
    color:#854d0e;
}

.alert-info{
    background:#e0f2fe;
    color:#075985;
}

hr{
    border-color:rgba(16,21,18,.10);
    opacity:1;
}

/* Responsive */

@media(max-width:991px){
    .admin-sidebar{
        position:relative;
        top:auto;
        min-height:auto;
        border-radius:0 0 28px 28px;
    }

    .admin-content{
        padding:24px;
    }

    .hero-card{
        padding:28px;
        border-radius:28px;
    }

    .hero-img,
    .hero-placeholder{
        height:350px;
        transform:none;
    }

    .hero-card::after{
        font-size:28px;
        letter-spacing:3px;
    }
}

@media(max-width:767px){
    body{
        background-size:auto;
    }

    .hero-wrap{
        padding:28px 0 18px;
    }

    .hero-card{
        padding:22px;
        border-radius:24px;
    }

    .hero-img,
    .hero-placeholder{
        height:310px;
        border-radius:24px;
    }

    .feature-card,
    .pricing-card,
    .panel-card,
    .auth-card,
    .empty-card{
        border-radius:22px;
    }

    .auth-card,
    .panel-card{
        padding:24px;
    }

    .price-line span{
        font-size:34px;
    }

    .call-strip,
    .call-header,
    .plan-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .jitsi-box{
        height:68vh;
        min-height:420px;
        border-radius:22px;
    }

    .admin-content{
        padding:18px;
    }
}
.footer-pro{ padding:36px 0 28px; background:transparent; border-top:0; } .footer-card{ position:relative; overflow:hidden; border-radius:34px; padding:34px; background: radial-gradient(circle at top right, rgba(243,183,202,.28), transparent 32%), radial-gradient(circle at bottom left, rgba(216,91,138,.12), transparent 30%), linear-gradient(135deg, #ffffff, #fff6f9); border:1px solid rgba(16,21,18,.08); box-shadow:0 24px 70px rgba(10,20,15,.08); } .footer-card::before{ content:""; position:absolute; width:180px; height:180px; left:-70px; bottom:-80px; border-radius:50%; background:rgba(216,91,138,.10); } .footer-brand{ position:relative; z-index:1; display:flex; align-items:center; gap:16px; } .footer-logo{ width:64px; height:64px; flex:0 0 64px; display:grid; place-items:center; border-radius:22px; font-size:30px; background:linear-gradient(135deg,#e77aa0,#6f294f); box-shadow:0 18px 40px rgba(216,91,138,.25); } .footer-title{ font-size:22px; font-weight:900; color:#24141f; margin-bottom:7px; } .footer-text{ color:#6b7280; line-height:2; font-weight:600; max-width:520px; } .footer-links{ position:relative; z-index:1; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; } .footer-links a{ padding:.58rem .95rem; border-radius:999px; background:rgba(255,255,255,.75); border:1px solid rgba(16,21,18,.08); color:#4b2a3c; font-weight:900; font-size:.9rem; transition:.18s ease; } .footer-links a:hover{ background:#2a1322; color:#fff; transform:translateY(-2px); } .footer-social-wrap{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-end; gap:12px; } .footer-social-title{ font-weight:900; color:#24141f; } .footer-socials{ display:flex; gap:10px; } .footer-social{ width:48px; height:48px; display:grid; place-items:center; border-radius:17px; color:#fff; background:linear-gradient(135deg,#2a1322,#4a1d38); box-shadow:0 14px 30px rgba(10,20,15,.14); transition:.18s ease; } .footer-social:hover{ transform:translateY(-4px) scale(1.03); color:#fff; background:linear-gradient(135deg,#e77aa0,#6f294f); box-shadow:0 18px 38px rgba(216,91,138,.28); } .footer-bottom{ position:relative; z-index:1; margin-top:28px; padding-top:18px; border-top:1px solid rgba(16,21,18,.08); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:#6b7280; font-size:.88rem; font-weight:700; } @media(max-width:991px){ .footer-card{ padding:26px; border-radius:28px; } .footer-links{ justify-content:flex-start; } .footer-social-wrap{ align-items:flex-start; } } @media(max-width:575px){ .footer-brand{ align-items:flex-start; flex-direction:column; } .footer-bottom{ flex-direction:column; } }

/* Receipt Upload */

.receipt-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(16,21,18,.09);
    border-radius:26px;
    padding:24px;
    background:
        radial-gradient(circle at top right, rgba(243,183,202,.20), transparent 34%),
        linear-gradient(135deg,#ffffff,#fff7fa);
    box-shadow:var(--shadow-md);
}

.receipt-card::before{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    left:-50px;
    bottom:-55px;
    border-radius:50%;
    background:rgba(216,91,138,.10);
}

.receipt-icon{
    width:52px;
    height:52px;
    flex:0 0 52px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:linear-gradient(135deg,var(--green),var(--green-dark));
    color:#fff;
    font-size:25px;
    box-shadow:0 16px 34px rgba(216,91,138,.24);
}

.receipt-status-box{
    position:relative;
    z-index:1;
    border:1px solid rgba(16,21,18,.08);
    border-radius:18px;
    padding:14px;
    background:rgba(255,255,255,.78);
}

.receipt-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:.42rem .82rem;
    border-radius:999px;
    font-weight:900;
    font-size:.78rem;
    white-space:nowrap;
}

.receipt-pill::before{
    content:"●";
    font-size:.72rem;
}

.receipt-not_uploaded{
    background:#f1f5f9;
    color:#475569;
}

.receipt-pending{
    background:#fff7d6;
    color:#8a5b00;
}

.receipt-approved{
    background:#fde7f0;
    color:#7a2d57;
}

.receipt-rejected{
    background:#fee2e2;
    color:#991b1b;
}

.receipt-note{
    border-radius:14px;
    background:#f8fafc;
    border:1px solid rgba(16,21,18,.08);
    padding:10px 12px;
    color:#475569;
    line-height:1.9;
}

.receipt-upload-box{
    position:relative;
    z-index:1;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:118px;
    border:2px dashed rgba(216,91,138,.28);
    border-radius:22px;
    background:rgba(255,255,255,.70);
    transition:.18s ease;
    text-align:center;
}

.receipt-upload-box:hover{
    border-color:rgba(216,91,138,.70);
    background:#ffffff;
    transform:translateY(-2px);
}

.receipt-upload-box input{
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
}

.receipt-upload-box span{
    font-weight:900;
    color:#24141f;
}

.receipt-upload-box small{
    color:#6b7280;
    font-weight:700;
}

.receipt-preview{
    width:100%;
    max-height:420px;
    object-fit:contain;
    border-radius:20px;
    border:1px solid rgba(16,21,18,.10);
    background:#f8fafc;
    box-shadow:var(--shadow-sm);
}

.receipt-pdf-box{
    display:flex;
    align-items:center;
    gap:14px;
    border:1px solid rgba(16,21,18,.09);
    border-radius:20px;
    padding:16px;
    background:#fff;
    box-shadow:var(--shadow-sm);
}

.receipt-pdf-icon{
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:linear-gradient(135deg,#ef4444,#991b1b);
    color:#fff;
    font-weight:900;
    letter-spacing:.5px;
}
/* Clean dashboard accordion - simple version */

.clean-plan-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.clean-plan-card{
    background:#fff;
    border:1px solid rgba(16,21,18,.09);
    border-radius:22px;
    box-shadow:0 10px 26px rgba(10,20,15,.045);
    overflow:hidden;
}

.clean-plan-card summary{
    list-style:none;
}

.clean-plan-card summary::-webkit-details-marker{
    display:none;
}

.clean-plan-summary{
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
}

.clean-plan-number{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#111827;
    color:#fff;
    font-size:13px;
    font-weight:900;
}

.clean-meal-number{
    background:#7a2d57;
}

.clean-plan-info{
    flex:1;
    min-width:0;
}

.clean-plan-title{
    margin:0 0 8px;
    font-size:16px;
    font-weight:900;
    color:#24141f;
    line-height:1.6;
}

.clean-plan-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

.clean-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:6px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

.clean-chip-dark{
    background:#111827;
    color:#fff;
}

.clean-chip-time{
    background:#fbbf24;
    color:#111;
}

.clean-chip-muted{
    background:#f3f4f6;
    color:#4b5563;
}

.clean-chip-meal{
    background:#fde7f0;
    color:#7a2d57;
}

.clean-plan-arrow{
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f3f4f6;
    color:#111827;
    font-size:17px;
    font-weight:900;
    transition:.18s ease;
}

.clean-plan-card[open] .clean-plan-arrow{
    transform:rotate(180deg);
    background:#111827;
    color:#fff;
}

.clean-meal-card[open] .clean-plan-arrow{
    background:#7a2d57;
}

.clean-plan-body{
    padding:0 18px 18px;
}

.clean-plan-text{
    border-top:1px solid rgba(16,21,18,.08);
    padding-top:16px;
    color:#303a34;
    font-size:14px;
    font-weight:500;
    line-height:2.05;
}

@media(max-width:767px){
    .clean-plan-summary{
        padding:14px;
        gap:10px;
    }

    .clean-plan-number{
        width:30px;
        height:30px;
        flex-basis:30px;
        font-size:12px;
    }

    .clean-plan-title{
        font-size:15px;
    }

    .clean-plan-body{
        padding:0 14px 14px;
    }
}
.admin-receipt-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.admin-receipt-item{
    border:1px solid rgba(16,21,18,.09);
    border-radius:18px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 10px 26px rgba(10,20,15,.04);
}

.admin-receipt-item summary{
    list-style:none;
}

.admin-receipt-item summary::-webkit-details-marker{
    display:none;
}

.admin-receipt-summary{
    cursor:pointer;
    padding:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.admin-receipt-summary-meta{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.receipt-amount-mini{
    display:inline-flex;
    align-items:center;
    padding:.42rem .78rem;
    border-radius:999px;
    background:#f3f4f6;
    color:#111827;
    font-size:.78rem;
    font-weight:900;
    white-space:nowrap;
}

.admin-receipt-arrow{
    width:30px;
    height:30px;
    border-radius:50%;
    background:#f3f4f6;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    transition:.18s ease;
}

.admin-receipt-item[open] .admin-receipt-arrow{
    transform:rotate(180deg);
    background:#111827;
    color:#fff;
}

.admin-receipt-body{
    padding:14px;
    border-top:1px solid rgba(16,21,18,.08);
}

.receipt-readonly-box{
    border:1px solid rgba(16,21,18,.08);
    border-radius:16px;
    background:#f8fafc;
    padding:12px;
    display:grid;
    gap:8px;
    color:#475569;
    font-size:.9rem;
}

@media(max-width:767px){
    .admin-receipt-summary{
        align-items:flex-start;
        flex-direction:column;
    }

    .admin-receipt-summary-meta{
        justify-content:flex-start;
    }
}
.auth-page{
    min-height:calc(100vh - 90px);
    padding:48px 16px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    direction:rtl;
}

.auth-shell{
    width:100%;
    max-width:560px;
    margin:0 auto;
}

.auth-card{
    width:100%;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(16,21,18,.08);
    border-radius:30px;
    box-shadow:0 24px 80px rgba(10,20,15,.10);
    padding:28px;
    overflow:hidden;
}

.auth-head{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:24px;
}

.auth-icon{
    width:56px;
    height:56px;
    min-width:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    background:linear-gradient(135deg,#d85b8a,#7a2d57);
    color:#fff;
    font-size:24px;
    box-shadow:0 14px 35px rgba(216,91,138,.24);
}

.auth-head h1{
    margin:0;
    font-size:28px;
    font-weight:900;
    color:#24141f;
}

.auth-head p{
    margin:5px 0 0;
    color:#6b7280;
    font-size:14px;
    font-weight:600;
}

.auth-form{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.auth-field{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.auth-field label{
    font-size:13px;
    font-weight:900;
    color:#374151;
    padding-right:4px;
}

.auth-field input,
.auth-field select{
    width:100%;
    height:56px;
    border:1px solid rgba(17,24,39,.12);
    border-radius:18px;
    background:#fff;
    color:#111827;
    outline:none;
    padding:0 16px;
    font-size:15px;
    font-weight:800;
    box-shadow:none;
    transition:.18s ease;
}

.auth-field input::placeholder{
    color:#9ca3af;
    font-weight:700;
}

.auth-field input:focus,
.auth-field select:focus{
    border-color:#d85b8a;
    box-shadow:0 0 0 5px rgba(216,91,138,.12);
}

.auth-field small{
    color:#6b7280;
    font-size:12px;
    line-height:1.8;
    padding-right:4px;
}

.auth-captcha{
    display:flex;
    justify-content:center;
    margin-top:4px;
    overflow:hidden;
}

.auth-btn{
    width:100%;
    height:58px;
    border:0;
    border-radius:999px;
    background:linear-gradient(135deg,#d85b8a,#7a2d57);
    color:#fff;
    font-size:16px;
    font-weight:900;
    box-shadow:0 18px 45px rgba(216,91,138,.24);
    transition:.18s ease;
}

.auth-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 22px 52px rgba(216,91,138,.28);
}

.auth-bottom,
.auth-links{
    margin-top:18px;
    text-align:center;
    color:#4b5563;
    font-size:14px;
    font-weight:700;
}

.auth-bottom a,
.auth-links a{
    color:#111827;
    font-weight:900;
    text-decoration:none;
}

.auth-links{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
}

@media(max-width:575px){
    .auth-page{
        padding:28px 12px;
    }

    .auth-card{
        border-radius:24px;
        padding:22px;
    }

    .auth-head h1{
        font-size:24px;
    }

    .auth-icon{
        width:50px;
        height:50px;
        min-width:50px;
        border-radius:18px;
    }

    .auth-field input,
    .auth-field select{
        height:54px;
        border-radius:16px;
    }
}

.analytics-clean{
    direction:rtl;
    width:100%;
    max-width:100%;
    padding:4px 0 38px;
    color:var(--ink,#24141f);
}

.analytics-clean *{
    box-sizing:border-box;
}

.analytics-clean button,
.analytics-clean input,
.analytics-clean select{
    font:inherit;
}

.analytics-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.analytics-topbar h1{
    font-size:clamp(24px,2.2vw,34px);
    line-height:1.35;
}

.analytics-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.analytics-summary-card{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    min-height:118px;
    border:1px solid rgba(16,21,18,.09);
    border-radius:24px;
    background:
        radial-gradient(circle at top left,rgba(243,183,202,.16),transparent 34%),
        rgba(255,255,255,.94);
    color:var(--ink,#24141f);
    text-align:right;
    padding:18px 18px 16px;
    box-shadow:var(--shadow-sm,0 10px 30px rgba(10,20,15,.06));
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    outline:none;
}

.analytics-summary-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-md,0 20px 60px rgba(10,20,15,.10));
    border-color:rgba(216,91,138,.26);
}

.analytics-summary-card span{
    display:flex;
    align-items:center;
    gap:8px;
    color:#64748b;
    font-size:.84rem;
    font-weight:900;
}

.analytics-summary-card span::before{
    content:"";
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--green,#d85b8a);
    box-shadow:0 0 0 5px rgba(216,91,138,.10);
}

.analytics-summary-card strong{
    display:block;
    margin:10px 0 6px;
    color:var(--dark,#1c0f19);
    font-size:clamp(22px,2vw,31px);
    line-height:1.35;
    font-weight:1000;
    letter-spacing:-.8px;
}

.analytics-summary-card small{
    display:block;
    color:#667085;
    font-size:.78rem;
    font-weight:800;
    line-height:1.8;
}

.analytics-chart-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-bottom:18px;
}

.analytics-chart-card,
.analytics-section{
    background:rgba(255,255,255,.94);
    border:1px solid rgba(16,21,18,.09);
    border-radius:26px;
    box-shadow:var(--shadow-sm,0 10px 30px rgba(10,20,15,.06));
}

.analytics-chart-card{
    min-height:232px;
    padding:18px;
    overflow:hidden;
}

.analytics-card-title,
.analytics-subtitle{
    color:#24141f;
    font-weight:1000;
}

.analytics-card-title{
    margin-bottom:10px;
    font-size:1rem;
}

.analytics-chart-card canvas{
    display:block!important;
    width:100%!important;
    height:132px!important;
    max-height:132px!important;
    min-height:132px!important;
}

.chart-legend{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:12px;
    color:#64748b;
    font-size:.78rem;
    font-weight:900;
}

.chart-legend span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.chart-legend span::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:50%;
    background:#111827;
}

.chart-legend span:nth-child(2)::before{
    background:var(--orange,#f59e0b);
}

.analytics-accordion{
    display:grid;
    gap:12px;
}

.analytics-section{
    overflow:hidden;
}

.analytics-section-head{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    border:0;
    outline:none;
    background:
        radial-gradient(circle at top right,rgba(243,183,202,.12),transparent 30%),
        linear-gradient(135deg,#fff,#fff7fa);
    padding:17px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:#24141f;
    font-weight:1000;
    text-align:right;
    cursor:pointer;
}

.analytics-section-head span{
    display:flex;
    align-items:center;
    gap:10px;
}

.analytics-section-head span::before{
    content:"+";
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,var(--green,#d85b8a),var(--green-dark,#6f294f));
    box-shadow:0 10px 22px rgba(216,91,138,.20);
    font-size:21px;
    line-height:1;
}

.analytics-section.is-open .analytics-section-head span::before{
    content:"−";
    background:linear-gradient(135deg,var(--dark,#1c0f19),#4a1d38);
}

.analytics-section-head b{
    min-width:34px;
    text-align:center;
    color:#111827;
    background:#f3f4f6;
    border:1px solid rgba(16,21,18,.07);
    border-radius:999px;
    padding:6px 12px;
    font-size:.84rem;
    font-weight:1000;
}

.analytics-panel{
    display:none;
    padding:0 18px 18px;
}

.analytics-section.is-open .analytics-panel{
    display:block;
}

.analytics-mini-stats{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin:4px 0 14px;
}

.analytics-mini-stats span,
.ana-pill,
.ana-danger-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:.38rem .72rem;
    border:1px solid rgba(16,21,18,.08);
    border-radius:999px;
    background:#f5f7f2;
    color:#111827;
    font-size:.77rem;
    font-weight:900;
    line-height:1.25;
    white-space:nowrap;
}

.ana-danger-pill{
    background:#fff7ed;
    border-color:#fed7aa;
    color:#9a3412;
}

.analytics-subtitle{
    margin:8px 0 12px;
    font-size:1rem;
}

.analytics-table-wrap{
    width:100%;
    max-width:100%;
    max-height:520px;
    overflow:auto;
    border:1px solid rgba(16,21,18,.08);
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 26px rgba(10,20,15,.035);
}

.analytics-table{
    width:100%;
    min-width:980px;
    margin:0!important;
    white-space:nowrap;
    border-collapse:separate;
    border-spacing:0;
}

.analytics-table thead th{
    position:sticky;
    top:0;
    z-index:2;
    text-align:center;
    color:rgba(16,21,18,.72);
    background:#f8faf7;
    border-bottom:1px solid rgba(16,21,18,.10);
    font-size:.78rem;
    font-weight:1000;
    padding:.88rem .75rem;
}

.analytics-table tbody td{
    text-align:center;
    vertical-align:middle;
    color:rgba(16,21,18,.82);
    border-bottom:1px solid rgba(16,21,18,.07);
    padding:.88rem .75rem;
    font-size:.86rem;
    font-weight:800;
}

.analytics-table tbody tr{
    cursor:pointer;
}

.analytics-table tbody tr:hover td{
    background:rgba(216,91,138,.055);
}

.analytics-row.is-selected td{
    background:#fff0f6!important;
}

.ltr-cell{
    direction:ltr;
    text-align:center!important;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    font-weight:850!important;
}

.security-wrap{
    border-color:rgba(245,158,11,.35);
    border-radius:18px;
}

.analytics-security-table{
    min-width:1120px;
}

.analytics-security-table thead th{
    background:#fff8ed;
    color:#111827;
    border-bottom:2px solid var(--orange,#f59e0b);
}

.analytics-security-table tbody td{
    background:#fff;
    border-bottom:2px solid rgba(245,158,11,.72)!important;
    border-left:1px solid rgba(16,21,18,.10);
    line-height:1.55;
}

.analytics-security-table tbody td:first-child{
    border-right:1px solid rgba(16,21,18,.10);
}

.analytics-security-table tbody tr:hover td{
    background:#fffaf0;
}

.analytics-detail{
    position:fixed;
    top:0;
    left:0;
    width:min(540px,94vw);
    height:100vh;
    z-index:1080;
    transform:translateX(-110%);
    transition:transform .22s ease;
    padding:24px;
    overflow:auto;
    background:#fff;
    border-right:1px solid rgba(16,21,18,.10);
    box-shadow:24px 0 80px rgba(10,20,15,.20);
    direction:rtl;
}

.analytics-detail.is-open{
    transform:translateX(0);
}

.analytics-detail-close{
    position:absolute;
    top:14px;
    left:14px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid rgba(16,21,18,.10);
    border-radius:999px;
    background:#fff;
    color:#111827;
    font-size:26px;
    line-height:1;
    cursor:pointer;
}

.analytics-detail-kicker{
    margin-bottom:6px;
    color:#64748b;
    font-size:.75rem;
    font-weight:1000;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.analytics-detail h3{
    margin:0 0 18px;
    padding-left:42px;
    color:#24141f;
    font-weight:1000;
}

.analytics-detail-body{
    display:grid;
    gap:10px;
}

.detail-group{
    border:1px solid rgba(16,21,18,.08);
    border-radius:18px;
    padding:12px;
    background:#fbfbfc;
}

.detail-group-title{
    margin-bottom:8px;
    color:#24141f;
    font-weight:1000;
}

.detail-row{
    display:grid;
    grid-template-columns:145px minmax(0,1fr);
    gap:10px;
    padding:8px 0;
    border-top:1px dashed #e5e7eb;
    font-size:.88rem;
}

.detail-row:first-of-type{
    border-top:0;
}

.detail-key{
    color:#64748b;
    font-weight:900;
    overflow:hidden;
    text-overflow:ellipsis;
}

.detail-val{
    direction:ltr;
    text-align:left;
    white-space:pre-wrap;
    word-break:break-word;
    color:#111827;
    font-weight:750;
}

.detail-loading,
.detail-error{
    padding:18px;
    border-radius:18px;
    font-weight:900;
}

.detail-loading{
    background:#f8fafc;
    color:#64748b;
}

.detail-error{
    background:#fff1f2;
    border:1px solid #fecdd3;
    color:#9f1239;
}

@media(max-width:1400px){
    .analytics-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:1100px){
    .analytics-chart-row{grid-template-columns:1fr;}
}

@media(max-width:767px){
    .analytics-summary-grid{grid-template-columns:1fr;}
    .analytics-topbar{align-items:flex-start;}
    .analytics-chart-card{min-height:220px;padding:14px;}
    .analytics-chart-card canvas{height:120px!important;max-height:120px!important;min-height:120px!important;}
    .analytics-section-head{padding:15px;}
    .analytics-panel{padding:0 10px 12px;}
    .analytics-table{min-width:900px;}
    .analytics-security-table{min-width:1040px;}
    .analytics-table tbody td,
    .analytics-table thead th{padding:.78rem .62rem;font-size:.8rem;}
    .analytics-detail{width:100vw;}
    .detail-row{grid-template-columns:1fr;}
}
/* ================================
   Bank Accounts / Payment Info Fix
   Add at end of static/style.css
================================ */

.bank-pay-card{
    position:relative;
    overflow:hidden;
    width:100%;
    background:
        radial-gradient(circle at top left, rgba(243,183,202,.18), transparent 34%),
        linear-gradient(135deg,#ffffff,#fff7fa);
    border:1px solid rgba(16,21,18,.09);
    border-radius:26px;
    padding:24px;
    box-shadow:var(--shadow-md);
    direction:rtl;
}

.bank-pay-card::before{
    content:"";
    position:absolute;
    width:140px;
    height:140px;
    left:-55px;
    bottom:-60px;
    border-radius:50%;
    background:rgba(216,91,138,.10);
    pointer-events:none;
}

.bank-pay-card > *{
    position:relative;
    z-index:1;
}

.bank-pay-icon{
    width:50px;
    height:50px;
    min-width:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:linear-gradient(135deg,var(--green),var(--green-dark));
    color:#fff;
    font-size:24px;
    box-shadow:0 16px 34px rgba(216,91,138,.24);
}

.bank-account-list{
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
}

.bank-account-item{
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(16,21,18,.09);
    border-radius:20px;
    box-shadow:0 10px 26px rgba(10,20,15,.045);
}

.bank-account-item summary{
    list-style:none;
}

.bank-account-item summary::-webkit-details-marker{
    display:none;
}

.bank-account-summary{
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px;
    background:
        radial-gradient(circle at top right, rgba(243,183,202,.14), transparent 32%),
        #ffffff;
}

.bank-account-summary strong{
    display:block;
    color:#24141f;
    font-size:15px;
    font-weight:900;
    line-height:1.7;
}

.bank-account-summary small{
    display:block;
    color:#6b7280;
    font-size:12px;
    font-weight:800;
    line-height:1.7;
    direction:ltr;
    text-align:right;
}

.bank-account-arrow{
    width:32px;
    height:32px;
    min-width:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f3f4f6;
    color:#111827;
    font-size:18px;
    font-weight:900;
    transition:.18s ease;
}

.bank-account-item[open] .bank-account-arrow{
    transform:rotate(180deg);
    background:#111827;
    color:#fff;
}

.bank-account-body{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:14px;
    border-top:1px solid rgba(16,21,18,.08);
    background:#fff9fb;
}

.bank-row{
    display:grid;
    grid-template-columns:105px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:48px;
    padding:10px 12px;
    background:#fff;
    border:1px solid rgba(16,21,18,.08);
    border-radius:16px;
}

.bank-row span{
    color:#6b7280;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.bank-row b{
    min-width:0;
    color:#111827;
    font-size:14px;
    font-weight:900;
    line-height:1.8;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.bank-row .ltr-copy,
.ltr-copy{
    direction:ltr;
    unicode-bidi:plaintext;
    text-align:left;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    letter-spacing:.2px;
}

.copy-btn{
    width:auto;
    min-width:54px;
    height:36px;
    border:0;
    border-radius:999px;
    padding:0 12px;
    background:linear-gradient(135deg,var(--green),var(--green-dark));
    color:#fff;
    font-size:12px;
    font-weight:900;
    box-shadow:0 10px 22px rgba(216,91,138,.18);
    cursor:pointer;
    white-space:nowrap;
    transition:.18s ease;
}

.copy-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 30px rgba(216,91,138,.24);
}

.copy-btn.is-copied{
    background:linear-gradient(135deg,#111827,#4a1d38);
}

.bank-note{
    padding:12px 14px;
    border-radius:16px;
    background:#f8fafc;
    border:1px dashed rgba(16,21,18,.14);
    color:#475569;
    font-size:13px;
    font-weight:700;
    line-height:1.9;
}

/* Dashboard narrow column fix */
.panel-card .bank-pay-card{
    margin-top:18px;
}

/* Mobile fix */
@media(max-width:575px){
    .bank-pay-card{
        padding:18px;
        border-radius:24px;
    }

    .bank-pay-card .d-flex{
        align-items:flex-start!important;
    }

    .bank-pay-icon{
        width:44px;
        height:44px;
        min-width:44px;
        border-radius:16px;
        font-size:21px;
    }

    .bank-account-summary{
        padding:14px;
    }

    .bank-account-body{
        padding:12px;
    }

    .bank-row{
        grid-template-columns:1fr;
        gap:6px;
        padding:12px;
        text-align:right;
    }

    .bank-row span{
        font-size:12px;
    }

    .bank-row b{
        width:100%;
        font-size:13px;
    }

    .bank-row .ltr-copy{
        text-align:right;
        direction:ltr;
    }

    .copy-btn{
        width:100%;
        height:40px;
        margin-top:4px;
    }
}
/* ================================
   Admin Bank Accounts List Fix
   Add at end of static/style.css
================================ */

.admin-bank-list{
    display:grid;
    gap:14px;
    width:100%;
}

.admin-bank-item{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(260px,1fr) minmax(340px,1.45fr) auto;
    align-items:center;
    gap:18px;
    width:100%;
    min-height:150px;
    padding:22px;
    background:
        radial-gradient(circle at top right,rgba(243,183,202,.16),transparent 30%),
        linear-gradient(135deg,#ffffff,#fbfff8);
    border:1px solid rgba(16,21,18,.09);
    border-radius:28px;
    box-shadow:var(--shadow-md);
    direction:rtl;
}

.admin-bank-item::before{
    content:"";
    position:absolute;
    width:140px;
    height:140px;
    left:-65px;
    bottom:-70px;
    border-radius:50%;
    background:rgba(216,91,138,.10);
    pointer-events:none;
}

.admin-bank-item > *{
    position:relative;
    z-index:1;
}

.admin-bank-main{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.admin-bank-main .bank-icon,
.bank-icon{
    width:54px;
    height:54px;
    min-width:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:19px;
    background:linear-gradient(135deg,var(--green),var(--green-dark));
    color:#fff;
    font-size:25px;
    box-shadow:0 16px 34px rgba(216,91,138,.22);
}

.admin-bank-main h5{
    margin:0;
    font-size:18px;
    line-height:1.7;
    font-weight:900;
    color:#24141f;
}

.admin-bank-main .text-muted{
    font-size:13px;
    font-weight:800;
    line-height:1.7;
}

.bank-mini-line{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:8px!important;
}

.bank-mini-line > span:first-child{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:.35rem .72rem;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid rgba(16,21,18,.08);
    color:#111827;
    font-size:13px;
    font-weight:900;
}

.admin-bank-item .status-pill{
    margin-top:0!important;
    min-height:30px;
    padding:.35rem .72rem;
    font-size:12px;
}

.admin-bank-info{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    min-width:0;
}

.admin-bank-info > div{
    min-width:0;
    padding:12px 14px;
    border:1px solid rgba(16,21,18,.08);
    border-radius:18px;
    background:rgba(255,255,255,.78);
}

.admin-bank-info small{
    display:block;
    margin-bottom:5px;
    color:#6b7280;
    font-size:11px;
    font-weight:900;
}

.admin-bank-info b{
    display:block;
    min-width:0;
    color:#111827;
    font-size:14px;
    font-weight:900;
    line-height:1.7;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.admin-bank-info .ltr-copy,
.ltr-copy{
    direction:ltr;
    unicode-bidi:plaintext;
    text-align:left;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    letter-spacing:.2px;
}

.admin-bank-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:9px;
    min-width:110px;
}

.admin-bank-actions form{
    margin:0;
}

.admin-bank-actions .btn{
    width:100%;
    min-height:40px;
    padding:.55rem .9rem;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}

/* make the outer panel cleaner on bank admin */
.panel-card:has(.admin-bank-list){
    padding:18px;
    border-radius:30px;
}

/* responsive */
@media(max-width:1199px){
    .admin-bank-item{
        grid-template-columns:1fr;
        align-items:stretch;
    }

    .admin-bank-actions{
        flex-direction:row;
        justify-content:flex-start;
        min-width:0;
    }

    .admin-bank-actions .btn{
        width:auto;
        min-width:96px;
    }
}

@media(max-width:767px){
    .admin-bank-item{
        padding:16px;
        border-radius:24px;
        gap:14px;
    }

    .admin-bank-main{
        align-items:flex-start;
    }

    .admin-bank-main .bank-icon,
    .bank-icon{
        width:48px;
        height:48px;
        min-width:48px;
        border-radius:17px;
        font-size:22px;
    }

    .admin-bank-main h5{
        font-size:16px;
    }

    .admin-bank-info{
        grid-template-columns:1fr;
    }

    .admin-bank-info > div{
        padding:11px 12px;
    }

    .admin-bank-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }

    .admin-bank-actions .btn{
        width:100%;
        min-width:0;
    }

    .panel-card:has(.admin-bank-list){
        padding:12px;
    }
}
.about-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(16,21,18,.09);
    border-radius:34px;
    padding:38px;
    background:
        radial-gradient(circle at top right, rgba(243,183,202,.22), transparent 32%),
        linear-gradient(135deg,#ffffff,#fff7fa);
    box-shadow:var(--shadow-lg);
}

.about-card::before{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    left:-90px;
    bottom:-100px;
    border-radius:50%;
    background:rgba(216,91,138,.10);
}

.about-card > *{
    position:relative;
    z-index:1;
}

.about-badge{
    display:inline-flex;
    align-items:center;
    margin-bottom:18px;
    padding:.45rem .9rem;
    border-radius:999px;
    background:#111827;
    color:#fff;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.8px;
}

.about-card p{
    color:#475569;
    line-height:2.15;
    font-weight:600;
}

.about-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:22px;
}

.about-side-box{
    position:relative;
    overflow:hidden;
    border-radius:28px;
    padding:28px;
    background:#fff;
    border:1px solid rgba(16,21,18,.09);
    box-shadow:var(--shadow-md);
    text-align:center;
}

.about-icon{
    width:84px;
    height:84px;
    margin:0 auto 18px;
    display:grid;
    place-items:center;
    border-radius:28px;
    background:linear-gradient(135deg,var(--green),var(--green-dark));
    color:#fff;
    font-size:42px;
    box-shadow:0 18px 40px rgba(216,91,138,.24);
}

.about-socials{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:22px;
}

.about-social{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:18px;
    color:#fff;
    transition:.18s ease;
}

.about-social:hover{
    transform:translateY(-4px) scale(1.03);
    color:#fff;
}

.about-social.telegram{
    background:linear-gradient(135deg,#38bdf8,#0284c7);
}

.about-social.instagram{
    background:linear-gradient(135deg,#f97316,#db2777,#7c3aed);
}

@media(max-width:767px){
    .about-card{
        padding:24px;
        border-radius:26px;
    }

    .about-side-box{
        padding:22px;
        border-radius:24px;
    }

    .about-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .about-actions .btn{
        width:100%;
    }
}

/* =========================================================
   FITCOACH PUBLIC ROSE LIQUID GLASS V2
   - Public pages only
   - Recolors remaining green UI to rose / mauve / plum
   - Adds stronger home animations and glass polish
   ========================================================= */
:root{
    --fit-rose-50:#fff7fa;
    --fit-rose-100:#ffeaf1;
    --fit-rose-200:#f8c7d8;
    --fit-rose-300:#f0a0ba;
    --fit-rose-400:#e77aa0;
    --fit-rose-500:#d85b8a;
    --fit-rose-600:#b94173;
    --fit-rose-700:#96315e;
    --fit-plum-700:#7a2d57;
    --fit-plum-800:#6f294f;
    --fit-plum-900:#3b142b;
    --fit-ink:#24141f;
    --fit-muted:#8b6b7d;
    --fit-peach:#f5b18c;

    --green:var(--fit-rose-500);
    --green-dark:var(--fit-plum-800);
    --lime:var(--fit-rose-200);
    --orange:var(--fit-peach);
    --dark:var(--fit-ink);
    --dark-2:#2a1322;
    --bg:#fff5f8;
    --bg-2:#fff0f6;
    --soft:#fbe3ec;
    --ink:var(--fit-ink);
    --muted:var(--fit-muted);
    --line:rgba(90,29,65,.12);
    --shadow-sm:0 10px 30px rgba(90,29,65,.07);
    --shadow-md:0 22px 62px rgba(90,29,65,.12);
    --shadow-lg:0 34px 95px rgba(90,29,65,.18);
}

body:not(.admin-body){
    background:
        radial-gradient(circle at 14% 0%, rgba(248,199,216,.72), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(216,91,138,.22), transparent 34%),
        radial-gradient(circle at 50% 100%, rgba(111,41,79,.13), transparent 38%),
        linear-gradient(180deg,#fffafd 0%, #fff2f7 42%, #ffffff 100%) !important;
    color:var(--fit-ink) !important;
}

body:not(.admin-body)::before{
    background-image:
        linear-gradient(rgba(90,29,65,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(90,29,65,.035) 1px, transparent 1px) !important;
}

::selection{background:#f8c7d8!important;color:#3b142b!important;}

body:not(.admin-body) .glass-nav{
    background:rgba(255,247,250,.76) !important;
    border-bottom:1px solid rgba(150,49,94,.13) !important;
    box-shadow:0 16px 45px rgba(111,41,79,.08) !important;
}

body:not(.admin-body) .nav-link:hover,
body:not(.admin-body) .nav-link.active{
    color:#3b142b !important;
    background:rgba(216,91,138,.13) !important;
    box-shadow:inset 0 0 0 1px rgba(216,91,138,.10) !important;
}

body:not(.admin-body) .nav-user::before{color:#d85b8a!important;}

body:not(.admin-body) .btn-primary,
body:not(.admin-body) .btn-success,
body:not(.admin-body) .btn-dark,
body:not(.admin-body) .home-slider-skip,
body:not(.admin-body) .home-slider-dot.active,
body:not(.admin-body) .feature-icon,
body:not(.admin-body) .package-status.active,
body:not(.admin-body) .badge.bg-success,
body:not(.admin-body) .bg-success{
    background:linear-gradient(135deg,#e77aa0 0%, #d85b8a 48%, #6f294f 100%) !important;
    border-color:transparent !important;
    color:#fff !important;
    box-shadow:0 18px 40px rgba(216,91,138,.28) !important;
}

body:not(.admin-body) .btn-primary:hover,
body:not(.admin-body) .btn-success:hover,
body:not(.admin-body) .btn-dark:hover,
body:not(.admin-body) .home-slider-skip:hover{
    background:linear-gradient(135deg,#f0a0ba 0%, #d85b8a 42%, #4a1635 100%) !important;
    box-shadow:0 24px 56px rgba(216,91,138,.36) !important;
}

body:not(.admin-body) .btn-outline-dark:hover,
body:not(.admin-body) .footer-links a:hover,
body:not(.admin-body) .footer-about-inline:hover{
    background:linear-gradient(135deg,#3b142b,#7a2d57) !important;
    color:#fff !important;
}

body:not(.admin-body) .hero-card,
body:not(.admin-body) .panel-card,
body:not(.admin-body) .pricing-card,
body:not(.admin-body) .feature-card,
body:not(.admin-body) .footer-card,
body:not(.admin-body) .about-card,
body:not(.admin-body) .auth-card,
body:not(.admin-body) .package-card,
body:not(.admin-body) .coupon-card{
    background:
        linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,241,247,.72)),
        radial-gradient(circle at 90% 10%,rgba(248,199,216,.52),transparent 33%) !important;
    border:1px solid rgba(185,65,115,.15) !important;
    box-shadow:0 26px 80px rgba(111,41,79,.13) !important;
    backdrop-filter:blur(22px) saturate(1.35) !important;
    -webkit-backdrop-filter:blur(22px) saturate(1.35) !important;
}

body:not(.admin-body) .hero-card::before{
    background:linear-gradient(135deg,rgba(216,91,138,.28),rgba(248,199,216,.55)) !important;
    animation:fitBlobMove 9s ease-in-out infinite alternate !important;
}

body:not(.admin-body) .hero-card::after{
    color:rgba(111,41,79,.055) !important;
}

body:not(.admin-body) .hero-img,
body:not(.admin-body) .hero-placeholder{
    box-shadow:0 24px 75px rgba(111,41,79,.18) !important;
    border-color:rgba(216,91,138,.20) !important;
    animation:fitFloatSoft 6.5s ease-in-out infinite !important;
}

body:not(.admin-body) .hero-img::after,
body:not(.admin-body) .hero-placeholder::after,
body:not(.admin-body) .pricing-card::after,
body:not(.admin-body) .feature-card::after{
    background:linear-gradient(120deg,transparent,rgba(255,255,255,.48),transparent) !important;
}

body:not(.admin-body) .price-line,
body:not(.admin-body) .text-success,
body:not(.admin-body) a:hover{
    color:#b94173 !important;
}

body:not(.admin-body) .progress-bar,
body:not(.admin-body) .progress .progress-bar{
    background:linear-gradient(90deg,#f0a0ba,#d85b8a,#7a2d57) !important;
}

body:not(.admin-body) .alert-success{
    background:#fff1f6 !important;
    border-color:#f8c7d8 !important;
    color:#7a2d57 !important;
}

body:not(.admin-body) .form-control:focus,
body:not(.admin-body) .form-select:focus{
    border-color:#e77aa0 !important;
    box-shadow:0 0 0 .22rem rgba(216,91,138,.14) !important;
}

body:not(.admin-body) .footer-logo,
body:not(.admin-body) .footer-social:hover,
body:not(.admin-body) .about-icon,
body:not(.admin-body) .pulse-icon{
    background:linear-gradient(135deg,#f0a0ba,#d85b8a,#6f294f) !important;
    box-shadow:0 18px 42px rgba(216,91,138,.27) !important;
}

body:not(.admin-body) .footer-card::before{
    background:rgba(216,91,138,.12) !important;
}

body:not(.admin-body) .footer-social{
    background:linear-gradient(135deg,#3b142b,#6f294f) !important;
}

body:not(.admin-body) .home-slide.active .hero-title,
body:not(.admin-body) .home-slide.active h1,
body:not(.admin-body) .home-slide.active .display-1,
body:not(.admin-body) .home-slide.active .display-2,
body:not(.admin-body) .home-slide.active .display-3{
    animation:fitTitleReveal .78s cubic-bezier(.2,.8,.2,1) both !important;
}

body:not(.admin-body) .home-slide.active p,
body:not(.admin-body) .home-slide.active .lead{
    animation:fitFadeUp .82s cubic-bezier(.2,.8,.2,1) .10s both !important;
}

body:not(.admin-body) .home-slide.active .btn,
body:not(.admin-body) .home-slide.active .hero-actions,
body:not(.admin-body) .home-slide.active .hero-img,
body:not(.admin-body) .home-slide.active .hero-placeholder{
    animation:fitFadeUp .88s cubic-bezier(.2,.8,.2,1) .18s both, fitFloatSoft 6.5s ease-in-out .95s infinite !important;
}

body:not(.admin-body) .feature-card,
body:not(.admin-body) .pricing-card{
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
body:not(.admin-body) .feature-card:hover,
body:not(.admin-body) .pricing-card:hover{
    transform:translateY(-8px) scale(1.01) !important;
    border-color:rgba(216,91,138,.32) !important;
    box-shadow:0 34px 90px rgba(111,41,79,.18) !important;
}

body:not(.admin-body) .home-slider-controls{
    animation:fitFadeUp .7s ease .35s both !important;
}
body:not(.admin-body) .home-slider-btn:hover,
body:not(.admin-body) .home-slider-dot:hover{
    transform:translateY(-2px) scale(1.06) !important;
    box-shadow:0 14px 30px rgba(216,91,138,.20) !important;
}

@keyframes fitFadeUp{
    from{opacity:0;transform:translateY(22px);filter:blur(8px)}
    to{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes fitTitleReveal{
    from{opacity:0;transform:translateY(28px) scale(.985);letter-spacing:-1.5px;filter:blur(10px)}
    to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes fitFloatSoft{
    0%,100%{transform:translateY(0) rotate(0deg)}
    50%{transform:translateY(-10px) rotate(.4deg)}
}
@keyframes fitBlobMove{
    0%{transform:translate(0,0) scale(1);filter:blur(4px)}
    100%{transform:translate(-26px,22px) scale(1.13);filter:blur(9px)}
}
@keyframes fitShineMove{
    from{transform:translateX(-140%) skewX(-16deg)}
    to{transform:translateX(140%) skewX(-16deg)}
}

@media(max-width:767px){
    body:not(.admin-body) .hero-card{padding:24px!important;border-radius:28px!important;}
    body:not(.admin-body) .home-slider-controls{gap:8px!important;}
}


/* USD-PRICE-GLOBAL-CLEAN-20260622 */
.price-line.price-clean-badges,
.package-card .price-line,
.pricing-card .price-line{
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    border-radius:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
}

.price-line .price-toman-badge,
.package-card .price-line-main,
.pricing-card .price-line-main{
    display:inline-flex !important;
    align-items:baseline !important;
    gap:7px !important;
    width:max-content !important;
    padding:9px 14px !important;
    border-radius:999px !important;
    background:#111827 !important;
    color:#fff !important;
    box-shadow:0 10px 22px rgba(17,24,39,.14) !important;
    direction:rtl !important;
}

.price-line .price-main,
.package-card .price-line-main .price-main,
.pricing-card .price-line-main .price-main{
    color:#fff !important;
    font-size:15px !important;
    font-weight:950 !important;
    line-height:1 !important;
    direction:ltr !important;
}

.price-line .price-unit,
.package-card .price-line-main .price-unit,
.pricing-card .price-line-main .price-unit{
    color:rgba(255,255,255,.92) !important;
    font-size:12px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}

.package-price-usd,
.price-usd-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    min-width:0 !important;
    height:auto !important;
    padding:6px 12px !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#9f1239 !important;
    border:1px solid rgba(219,39,119,.18) !important;
    box-shadow:0 8px 18px rgba(157,23,77,.08) !important;
    font-size:12px !important;
    font-weight:950 !important;
    direction:ltr !important;
    white-space:nowrap !important;
    line-height:1.2 !important;
}

