:root{
    --primary:#0055c7;
    --primary-2:#286eea;
    --bg:#f5fafe;
    --surface:#ffffff;
    --surface-low:#eff4f8;
    --surface-soft:#f7fbff;
    --surface-card:rgba(255,255,255,0.78);
    --surface-section:#e9eef2;
    --text:#171c1f;
    --muted:#424654;
    --muted-2:#5a6376;
    --outline:#c2c6d6;
    --border:#dbe4f0;
    --primary-fixed:#d9e2ff;
    --success:#166534;
    --error:#991b1b;
    --error-bg:#fdeaea;
    --error-border:#f3c0c0;
    --shadow:0 40px 100px rgba(0,85,199,0.08);
    --shadow-soft:0 12px 30px rgba(0,85,199,0.05);
    --radius-xl:32px;
    --radius-lg:24px;
    --radius-md:20px;
    --radius-sm:16px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.bhaisab-body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.material-symbols-outlined{
    font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
    line-height:1;
    vertical-align:middle;
}

.page-shell{
    min-height:100vh;
    overflow:hidden;
}

.site-main-v3{
    padding-top:94px;
}

.page-wrap{
    max-width:1280px;
    margin:0 auto;
    padding:0 24px;
}

/* header */
.site-header-v3{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:100;
    background:rgba(255,255,255,0.80);
    backdrop-filter:blur(16px);
    box-shadow:0 20px 40px rgba(0,85,199,0.06);
}
.site-header-wrap{
    max-width:1280px;
    margin:0 auto;
    padding:16px 0;
}
.site-header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.site-brand-v3{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}
.site-brand-mark{
    width:46px;
    height:46px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--primary),var(--primary-2));
    color:#fff;
    box-shadow:0 12px 24px rgba(0,85,199,0.18);
}

.site-brand-mark .material-symbols-outlined{
    font-size:24px;
    color:#fff;
}
.site-brand-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
}
.site-brand-copy strong{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:18px;
    line-height:1.1;
    font-weight:800;
    color:var(--text);
}
.site-brand-copy small{
    color:var(--muted-2);
    font-size:12px;
    line-height:1.3;
}
.site-nav-v3{
    display:flex;
    align-items:center;
    gap:28px;
}
.site-nav-v3 a{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:14px;
    font-weight:600;
    color:var(--muted-2);
    transition:.2s ease;
}
.site-nav-v3 a.active{
    color:var(--primary);
    font-weight:700;
    border-bottom:2px solid var(--primary);
    padding-bottom:8px;
}
.site-nav-v3 a:hover{
    color:var(--primary);
}
.site-nav-v3 a.nav-pill-cta{
    background:var(--primary);
    color:#fff;
    padding:12px 22px;
    border-radius:999px;
    box-shadow:0 10px 24px rgba(0,85,199,0.18);
    border-bottom:none;
}
.site-nav-toggle{
    display:none;
    width:42px;
    height:42px;
    border:none;
    background:none;
    cursor:pointer;
    padding:0;
}
.site-nav-toggle span{
    display:block;
    width:24px;
    height:2px;
    margin:5px auto;
    background:var(--text);
    transition:.2s ease;
}
.site-nav-toggle.is-open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}
.site-nav-toggle.is-open span:nth-child(2){
    opacity:0;
}
.site-nav-toggle.is-open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

/* footer */
.site-footer-v3{
    padding:0 24px 30px;
    background:transparent;
    margin-top: 50px;
}
.site-footer-wrap{
    max-width:1280px;
    margin:0 auto;
}
.site-footer-shell{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:18px;
    background:rgba(255,255,255,0.78);
    border:1px solid var(--border);
    border-radius:24px;
    padding:24px;
    box-shadow:var(--shadow-soft);
}
.site-footer-left h3{
    margin:0 0 8px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:22px;
    font-weight:800;
    color:var(--text);
}
.site-footer-left p{
    margin:0;
    color:var(--muted-2);
    line-height:1.75;
    font-size:14px;
    max-width:640px;
}
.site-footer-right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
}
.site-footer-stats{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:14px;
}
.site-footer-stat-box{
    min-width:150px;
    background:linear-gradient(180deg,#ffffff 0%,#f6faff 100%);
    border:1px solid var(--border);
    border-radius:18px;
    padding:16px 18px;
    box-shadow:0 8px 20px rgba(0,85,199,0.04);
}
.site-footer-stat-label{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    font-weight:800;
    color:var(--muted-2);
    text-transform:uppercase;
    font-family:'Plus Jakarta Sans',sans-serif;
}
.site-footer-stat-box strong{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:24px;
    font-weight:800;
    color:var(--primary);
    line-height:1;
}
.site-footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:14px 4px 0;
}
.site-footer-bottom p{
    margin:0;
    color:#6b7280;
    font-size:14px;
    line-height:1.6;
}

/* common */
.section-block{
    padding:0 24px;
}
.card-glass{
    background:var(--surface-card);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,0.40);
    border-radius:var(--radius-xl);
    box-shadow:var(--shadow);
}
.section-card{
    background:#fff;
    border-radius:28px;
    padding:28px;
    box-shadow:0 10px 30px rgba(15,23,42,0.05);
    border:1px solid rgba(219,228,240,0.55);
}
.alert{
    margin-bottom:18px;
    padding:14px 16px;
    border-radius:14px;
    background:var(--error-bg);
    color:var(--error);
    border:1px solid var(--error-border);
    font-size:14px;
    font-weight:600;
}
.simple-grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}
.simple-grid-3{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

/* forms */
.form{
    display:grid;
    gap:24px;
}
.field{
    display:grid;
    gap:8px;
}
.field-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:0 2px;
}
.field label{
    font-size:12px;
    font-weight:800;
    color:var(--muted-2);
    text-transform:uppercase;
}
.field-top a{
    font-size:12px;
    font-weight:800;
    color:var(--primary);
}
.field input,
.field select,
.field textarea{
    width:100%;
    padding:18px 16px;
    background:var(--surface-low);
    border:none;
    border-bottom:2px solid var(--outline);
    border-radius:12px 12px 8px 8px;
    color:var(--text);
    font-size:18px;
    font-weight:600;
    outline:none;
    transition:.2s ease;
}
.field textarea{
    min-height:120px;
    resize:vertical;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
    border-bottom-color:var(--primary);
}
.field input::placeholder,
.field textarea::placeholder{
    color:rgba(114,119,133,0.60);
}
.primary-btn{
    width:100%;
    border:none;
    padding:20px 24px;
    border-radius:20px;
    background:linear-gradient(135deg,var(--primary) 0%,var(--primary-2) 100%);
    color:#fff;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 10px 30px rgba(0,85,199,0.25);
    transition:.2s ease;
}
.primary-btn:hover{
    transform:scale(1.02);
}
.secondary-link-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:18px;
}
.secondary-link-grid a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    border-radius:16px;
    background:rgba(255,255,255,0.52);
    border:1px solid var(--border);
    color:var(--primary);
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:15px;
    font-weight:800;
    transition:.2s ease;
}
.secondary-link-grid a:hover{
    background:#fff;
}

/* index hero */
.home-hero{
    position:relative;
    padding:34px 24px 60px;
}
.home-hero::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    transform:translate(25%,-50%);
    width:600px;
    height:600px;
    background:rgba(0,85,199,0.05);
    border-radius:50%;
    filter:blur(100px);
    pointer-events:none;
}
.home-hero::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    transform:translate(-25%,50%);
    width:400px;
    height:400px;
    background:rgba(62,87,168,0.05);
    border-radius:50%;
    filter:blur(80px);
    pointer-events:none;
}
.home-hero-inner{
    position:relative;
    z-index:1;
    max-width:1280px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) 564px;
    gap:64px;
    align-items:center;
}
.trusted-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--primary-fixed);
    color:#00419c;
    border-radius:999px;
    padding:10px 16px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:12px;
    font-weight:800
    text-transform:uppercase;
    margin-bottom:28px;
}
.trusted-badge .material-symbols-outlined{
    font-size:16px;
    font-variation-settings:'FILL' 1,'wght' 700,'GRAD' 0,'opsz' 20;
}
.hero-copy h1{
    margin:0 0 28px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:76px;
    line-height:1.02;
    font-weight:800;
    color:var(--text);
}
.hero-copy h1 em{
    font-style:italic;
    color:var(--primary);
}
.hero-copy p{
    margin:0;
    max-width:700px;
    font-size:18px;
    line-height:1.65;
    color:var(--muted);
}
.hero-copy p strong{
    color:var(--text);
    font-weight:800;
}
.hero-vehicles{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:32px;
}
.hero-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:11px 16px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--border);
    box-shadow:0 10px 22px rgba(0,85,199,0.05);
    color:var(--muted);
    font-weight:700;
    font-size:14px;
}

.hero-chip .material-symbols-outlined{
    font-size:18px;
    color:var(--primary);
}
.login-wrap{
    position:relative;
}
.login-wrap::before{
    content:"";
    position:absolute;
    inset:-4px;
    background: transparent;
    border-radius:32px;
    filter:blur(22px);
    opacity:.20;
}
.login-card{
    position:relative;
    padding:48px;
}
.login-head{
    text-align:center;
    margin-bottom:34px;
}
.login-head h2{
    margin:0 0 10px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:32px;
    font-weight:800;
}
.login-head p{
    margin:0;
    font-size:14px;
    color:var(--muted-2);
}
.login-foot{
    text-align:center;
    padding-top:2px;
}
.login-foot p{
    margin:0;
    font-size:14px;
    color:var(--muted-2);
}
.login-foot a{
    color:var(--primary);
    font-weight:800;
}

.home-section{
    padding:60px 24px;
}
.home-section.surface{
    background:transparent;
}
.home-section-inner{
    max-width:1280px;
    margin:0 auto;
}
.section-head{
    text-align:center;
    margin-bottom:30px;
}
.section-head h2{
    margin:0 0 16px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:56px;
    line-height:1.05;
    font-weight:800;
}
.section-head p{
    margin:0 auto;
    max-width:760px;
    font-size:20px;
    line-height:1.7;
    color:var(--muted-2);
}
.step-card{
    background:#fff;
    border-radius:32px;
    padding:32px;
    box-shadow:0 10px 30px rgba(15,23,42,0.05);
    transition:.35s ease;
}
.step-card.featured{
    border-top:4px solid var(--primary);
}
.step-card:hover{
    box-shadow:0 20px 50px rgba(15,23,42,0.08);
    transform:translateY(-2px);
}
.step-icon{
    width:64px;
    height:64px;
    border-radius:20px;
    background:var(--primary-fixed);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:24px;
}
.step-icon .material-symbols-outlined{
    color:var(--primary);
    font-size:32px;
}
.step-num{
    margin-bottom:16px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:64px;
    line-height:1;
    font-weight:900;
    color:rgba(194,198,214,0.35);
}
.step-card h3{
    margin:0 0 16px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:28px;
    font-weight:800;
}
.step-card p{
    margin:0;
    color:var(--muted);
    font-size:17px;
    line-height:1.75;
}

/* faq */
.faq-wrap{
    max-width:896px;
    margin:0 auto;
    display:grid;
    gap:16px;
}
.faq-item{
    background:#fff;
    border:1px solid transparent;
    border-radius:24px;
    box-shadow:0 8px 22px rgba(15,23,42,0.04);
    transition:.2s ease;
    overflow:hidden;
}
.faq-item:hover,
.faq-item.active{
    border-color:rgba(0,85,199,0.20);
}
.faq-btn{
    width:100%;
    border:none;
    background:transparent;
    padding:24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    text-align:left;
    cursor:pointer;
    color:var(--text);
}
.faq-btn h4{
    margin:0;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:22px;
    line-height:1.3;
    font-weight:800;
}
.faq-btn .material-symbols-outlined{
    color:var(--primary);
    transition:.2s ease;
}
.faq-item.active .faq-btn .material-symbols-outlined{
    transform:rotate(180deg);
}
.faq-body{
    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
}
.faq-body p{
    margin:0;
    padding:0 24px 24px;
    color:var(--muted);
    font-size:15px;
    line-height:1.8;
}

/* tables/cards basic */
.table-wrap{
    overflow:auto;
    border-radius:20px;
    border:1px solid var(--border);
    background:#fff;
}
.data-table{
    width:100%;
    min-width:720px;
    border-collapse:collapse;
}
.data-table th,
.data-table td{
    padding:14px 16px;
    text-align:left;
    border-bottom:1px solid #eef2f7;
    font-size:14px;
}
.data-table th{
    background:#f7fbff;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:700;
    color:var(--text);
}
.data-table tr:last-child td{
    border-bottom:none;
}

/* responsive */
@media (max-width:1100px){
    .home-hero-inner{
        grid-template-columns:1fr;
        gap:48px;
    }
    .hero-copy h1{
        font-size:58px;
    }
    .simple-grid-3{
        grid-template-columns:1fr;
    }
}

@media (max-width:1024px){
    .site-footer-shell{
        grid-template-columns:1fr;
    }
    .site-footer-right{
        justify-content:flex-start;
    }
    .site-footer-stats{
        justify-content:flex-start;
    }
    .simple-grid-2{
        grid-template-columns:1fr;
    }
}

@media (max-width:768px){
    .site-main-v3{
        padding-top:86px;
    }
    .site-header-wrap,
    .page-wrap,
    .site-footer-v3,
    .section-block,
    .home-hero,
    .home-section{
        padding-left:18px;
        padding-right:18px;
    }
    .site-nav-v3{
        display:none;
        position:absolute;
        top:100%;
        left:18px;
        right:18px;
        background:rgba(255,255,255,0.96);
        border:1px solid var(--border);
        border-radius:20px;
        box-shadow:var(--shadow-soft);
        padding:14px;
        flex-direction:column;
        align-items:flex-start;
        gap:14px;
    }
    .site-nav-v3.is-open{
        display:flex;
    }
    .site-nav-v3 a{
        width:100%;
    }
    .site-nav-v3 a.active{
        padding-bottom:0;
        border-bottom:none;
    }
    .site-nav-v3 a.nav-pill-cta{
        width:100%;
        text-align:center;
    }
    .site-nav-toggle{
        display:block;
    }
    .hero-copy h1{
        font-size:42px;
    }
    .hero-copy p{
        font-size:16px;
    }
    .login-card{
        padding:24px;
        border-radius:24px;
    }
    .login-head h2{
        font-size:28px;
    }
    .secondary-link-grid{
        grid-template-columns:1fr;
    }
    .section-head{
        margin-bottom:40px;
    }
    .section-head h2{
        font-size:38px;
    }
    .section-head p{
        font-size:16px;
    }
    .step-card{
        padding:24px;
        border-radius:24px;
    }
    .faq-btn{
        padding:20px;
    }
    .faq-btn h4{
        font-size:18px;
    }
    .site-footer-shell{
        padding:18px;
        border-radius:20px;
    }
    .site-footer-stat-box{
        min-width:unset;
        width:100%;
    }
    .site-footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }
    .field input,
    .field select,
    .field textarea{
        font-size:16px;
        padding:16px 14px;
    }
    .primary-btn{
        padding:18px 18px;
        font-size:17px;
    }
}

.login-feature-grid{
    margin-top:32px;
}

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

.login-feature-card h3{
    margin:0 0 10px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:20px;
    line-height:1.2;
    font-weight:800;
    color:var(--text);
}

.login-feature-card p{
    margin:0;
    color:var(--muted);
    font-size:15px;
    line-height:1.7;
}

@media (max-width:1100px){
    .login-feature-grid{
        grid-template-columns:1fr;
        margin-top:24px;
    }
}


.simple-grid-3.login-feature-grid {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 100px auto;
    display: grid;
    /* grid-template-columns: minmax(0,1fr) 564px; */
    gap: 20px;
    align-items: center;
}



.register-success{
    background:#e8f7ec;
    color:#166534;
    border-color:#b8e6c4;
}

.register-hero .home-hero-inner{
    align-items:center;
}

@media (max-width:1100px){
    .register-hero .home-hero-inner{
        align-items:stretch;
    }
}


.dashboard-hero-v4 .home-hero-inner{
    align-items:start;
}

.dashboard-meta-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:28px;
}

.dashboard-meta-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:22px;
    padding:18px;
    box-shadow:0 10px 22px rgba(0,85,199,0.05);
}

.dashboard-meta-label{
    display:block;
    margin-bottom:8px;
    color:var(--muted-2);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.dashboard-meta-card strong{
    display:block;
    color:var(--text);
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:20px;
    line-height:1.3;
    font-weight:800;
    word-break:break-word;
}

.dashboard-cta-card{
    padding:32px;
}

.dashboard-quick-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.dashboard-quick-card{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-height:136px;
    padding:20px;
    border-radius:22px;
    background:rgba(255,255,255,0.72);
    border:1px solid var(--border);
    transition:.2s ease;
}

.dashboard-quick-card:hover{
    background:#fff;
    transform:translateY(-2px);
    box-shadow:0 14px 24px rgba(0,85,199,0.08);
}

.dashboard-quick-card .material-symbols-outlined{
    font-size:28px;
    color:var(--primary);
}

.dashboard-quick-card strong{
    color:var(--text);
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:18px;
    line-height:1.2;
    font-weight:800;
}

.dashboard-quick-card small{
    color:var(--muted-2);
    font-size:14px;
    line-height:1.6;
}

.dashboard-quick-disabled{
    opacity:.8;
}

.dashboard-info-card h3{
    margin:0 0 20px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:24px;
    font-weight:800;
    color:var(--text);
}

.dashboard-info-list{
    display:grid;
    gap:12px;
}

.dashboard-info-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    background:var(--surface-soft);
    border:1px solid var(--border);
    border-radius:18px;
}

.dashboard-info-row span{
    color:var(--muted-2);
    font-size:14px;
    font-weight:600;
}

.dashboard-info-row strong{
    color:var(--text);
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:15px;
    font-weight:800;
    text-align:right;
    word-break:break-word;
}

.status-active{
    color:#166534 !important;
}

.status-inactive{
    color:#991b1b !important;
}

@media (max-width:1100px){
    .dashboard-meta-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:768px){
    .dashboard-quick-grid{
        grid-template-columns:1fr;
    }

    .dashboard-cta-card{
        padding:24px;
    }

    .dashboard-info-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .dashboard-info-row strong{
        text-align:left;
    }
}


.qr-hero-v4 .home-hero-inner{
    align-items:start;
}

.qr-side-card{
    padding:32px;
}

.qr-side-links{
    margin-top:0;
}

.qr-public-link-box{
    margin-top:18px;
    padding:18px;
    border-radius:20px;
    background:#fff;
    border:1px solid var(--border);
}

.qr-public-link-box label,
.qr-link-panel label{
    display:block;
    margin-bottom:10px;
    color:var(--muted-2);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.qr-public-link-box input,
.qr-link-panel input{
    width:100%;
    padding:15px 14px;
    background:var(--surface-low);
    border:none;
    border-bottom:2px solid var(--outline);
    border-radius:12px 12px 8px 8px;
    color:var(--text);
    font-size:15px;
    font-weight:600;
    outline:none;
}

.qr-public-actions,
.qr-link-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}

.qr-mini-btn{
    width:auto;
    min-width:120px;
    padding:14px 18px;
    font-size:15px;
}

.qr-open-btn{
    text-align:center;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.qr-print-btn{
    background:linear-gradient(135deg,#0f4fb3 0%,#1b63d8 100%);
}

.qr-main-grid{
    align-items:start;
}

.qr-main-card{
    padding:28px;
}

.qr-selector-form{
    margin-bottom:24px;
}

.qr-card-grid{
    display:grid;
    grid-template-columns:360px 1fr;
    gap:24px;
    align-items:start;
}

.qr-preview-box{
    width:100%;
}

.qr-image-frame{
    padding:18px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
    box-shadow:0 12px 30px rgba(0,85,199,0.06);
}

.qr-image-frame img{
    display:block;
    width:100%;
    border-radius:18px;
    background:#fff;
}

.qr-used-box{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:320px;
    padding:28px 20px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
}

.qr-used-box .material-symbols-outlined{
    font-size:42px;
    color:var(--primary);
    margin-bottom:12px;
}

.section-card.dashboard-info-card {
    margin: 50px 0;
}

.qr-used-box h3{
    margin:0 0 10px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:24px;
    font-weight:800;
    color:var(--text);
}

.qr-used-box p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
    max-width:280px;
}

.qr-info-box{
    display:grid;
    gap:18px;
}

.qr-link-panel{
    padding:18px;
    border-radius:20px;
    background:#fff;
    border:1px solid var(--border);
}

.qr-note-list{
    display:grid;
    gap:14px;
    margin-top:18px;
}

.qr-note-item{
    padding:16px 18px;
    border-radius:18px;
    background:var(--surface-soft);
    border:1px solid var(--border);
}

.qr-note-item strong{
    display:block;
    margin-bottom:6px;
    color:var(--text);
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:16px;
    font-weight:800;
}

.qr-note-item p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
    font-size:14px;
}

@media (max-width:1100px){
    .qr-card-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:768px){
    .qr-side-card,
    .qr-main-card{
        padding:24px;
    }

    .qr-public-actions,
    .qr-link-actions{
        flex-direction:column;
    }

    .qr-mini-btn{
        width:100%;
    }
}

.history-hero-v4 .home-hero-inner{
    align-items:start;
}

.empty-state{
    text-align:center;
    padding:60px 20px;
}

.empty-state .material-symbols-outlined{
    font-size:48px;
    color:var(--primary);
    margin-bottom:12px;
}

.empty-state h3{
    margin:0 0 8px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:24px;
    font-weight:800;
    color:var(--text);
}

.empty-state p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
}

.inline-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:6px 2px 0;
    color:var(--muted);
    font-size:15px;
    line-height:1.6;
    cursor:pointer;
}

.inline-check input{
    width:18px;
    height:18px;
    margin-top:2px;
    accent-color:var(--primary);
    flex:0 0 auto;
}

.inline-check span{
    display:block;
}

.field textarea{
    min-height:120px;
    resize:vertical;
}

.field input[type="file"]{
    padding:14px 12px;
    background:var(--surface-low);
    border:none;
    border-bottom:2px solid var(--outline);
    border-radius:12px 12px 8px 8px;
    font-size:15px;
    font-weight:500;
    color:var(--muted);
}

.section-card.login-feature-card {
    margin: 30px 0;
}

.profile-photo-block{
    display:flex;
    align-items:center;
    gap:18px;
    padding:4px 0 10px;
}

.profile-photo-preview{
    width:96px;
    height:96px;
    border-radius:24px;
    overflow:hidden;
    border:1px solid var(--border);
    background:#fff;
    box-shadow:0 10px 24px rgba(0,85,199,0.06);
    flex:0 0 auto;
}

.profile-photo-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.profile-photo-placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--surface-soft);
}

.profile-photo-placeholder .material-symbols-outlined{
    font-size:40px;
    color:var(--primary);
}

.profile-photo-field{
    flex:1 1 auto;
}

@media (max-width:768px){
    .profile-photo-block{
        flex-direction:column;
        align-items:flex-start;
    }
}


.admin-body{
    background:#eef4fb;
}

.admin-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:290px 1fr;
}

.admin-sidebar{
    background:rgba(255,255,255,0.86);
    border-right:1px solid var(--border);
    backdrop-filter:blur(16px);
    padding:22px 16px;
    position:sticky;
    top:0;
    height:100vh;
}

.admin-brand{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    padding:6px 8px 14px;
}

.admin-brand-mark{
    width:48px;
    height:48px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--primary),var(--primary-2));
    color:#fff;
    box-shadow:0 12px 24px rgba(0,85,199,0.18);
}

.admin-brand-copy strong{
    display:block;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:18px;
    font-weight:800;
    color:var(--text);
}

.admin-brand-copy small{
    color:var(--muted-2);
    font-size:12px;
}

.admin-nav{
    display:grid;
    gap:8px;
}

.admin-nav a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px 14px;
    border-radius:16px;
    color:var(--muted);
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:14px;
    font-weight:700;
    transition:.2s ease;
}

.admin-nav a:hover,
.admin-nav a.active{
    background:#eaf2ff;
    color:var(--primary);
}

.admin-main-wrap{
    min-width:0;
}

.admin-topbar{
    display:flex;
    align-items:center;
    gap:14px;
    padding:22px 24px 12px;
}

.admin-topbar h1{
    margin:0 0 6px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:30px;
    font-weight:800;
    color:var(--text);
}

.admin-topbar p{
    margin:0;
    color:var(--muted-2);
    font-size:14px;
}

.admin-menu-toggle{
    display:none;
    width:44px;
    height:44px;
    border:none;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 18px rgba(0,85,199,0.08);
    cursor:pointer;
}

.admin-main-content{
    padding-bottom:28px;
}

.admin-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.admin-stat-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
    padding:22px;
    box-shadow:0 10px 24px rgba(0,85,199,0.05);
}

.admin-stat-card .material-symbols-outlined{
    font-size:28px;
    color:var(--primary);
    margin-bottom:8px;
}

.admin-stat-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:14px;
    background:#eaf2ff;
    color:var(--primary);
    margin-bottom:12px;
}

.admin-stat-icon .material-symbols-outlined{
    font-size:22px;
    color:currentColor;
    font-family:'Material Symbols Outlined';
    font-weight:normal;
    text-transform:none;
    letter-spacing:normal;
    line-height:1;
}

.admin-stat-label{
    display:block;
    color:var(--muted-2);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-family:'Plus Jakarta Sans',sans-serif;
    margin-bottom:8px;
    line-height:1.4;
}

.admin-stat-value{
    display:block;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:32px;
    font-weight:800;
    color:var(--text);
    line-height:1;
}

.admin-stat-card strong{
    display:block;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:30px;
    font-weight:800;
    color:var(--text);
}

.admin-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
    padding:24px;
    box-shadow:0 10px 24px rgba(0,85,199,0.05);
}

.admin-card h3{
    margin:0 0 18px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:22px;
    font-weight:800;
    color:var(--text);
}

.admin-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:18px;
}

.admin-toolbar .field{
    margin:0;
    min-width:220px;
}

.admin-btn{
    width:auto;
    min-width:120px;
    padding:14px 18px;
    border:none;
    border-radius:16px;
    background:linear-gradient(135deg,var(--primary),var(--primary-2));
    color:#fff;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:800;
    cursor:pointer;
}

.admin-btn.secondary{
    background:#eef5ff;
    color:var(--primary);
    border:1px solid var(--border);
}

.badge-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:86px;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.badge-pill.active{
    background:#e8f7ec;
    color:#166534;
}

.badge-pill.pending{
    background:#fff6db;
    color:#8a6200;
}

.badge-pill.inactive,
.badge-pill.rejected{
    background:#fdeaea;
    color:#991b1b;
}

.admin-body{
    background:#eef4fb;
}

.admin-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:280px 1fr;
}

.admin-sidebar{
    background:#ffffff;
    border-right:1px solid var(--border);
    padding:18px 16px;
    position:sticky;
    top:0;
    height:100vh;
}

.admin-brand{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    padding:10px 10px 18px;
}

.admin-brand-mark{
    width:46px;
    height:46px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--primary),var(--primary-2));
    color:#fff;
    box-shadow:0 12px 24px rgba(0,85,199,0.18);
    flex:0 0 auto;
}

.admin-brand-mark .material-symbols-outlined{
    font-size:24px;
    color:#fff;
}

.admin-brand-copy strong{
    display:block;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:16px;
    font-weight:800;
    color:var(--text);
    line-height:1.2;
}

.admin-brand-copy small{
    color:var(--muted-2);
    font-size:12px;
    line-height:1.3;
}

.admin-nav{
    display:grid;
    gap:8px;
}

.admin-nav a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 14px;
    border-radius:16px;
    color:var(--muted);
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:14px;
    font-weight:700;
    transition:.2s ease;
}

.admin-nav a .material-symbols-outlined{
    font-size:20px;
    color:currentColor;
    flex:0 0 auto;
}

.admin-nav a:hover,
.admin-nav a.active{
    background:#eaf2ff;
    color:var(--primary);
}

.admin-main-wrap{
    min-width:0;
}

.admin-topbar{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:22px 24px 14px;
}

.admin-topbar h1{
    margin:0 0 6px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:28px;
    font-weight:800;
    color:var(--text);
    line-height:1.15;
}

.admin-topbar p{
    margin:0;
    color:var(--muted-2);
    font-size:14px;
}

.admin-menu-toggle{
    display:none;
    width:44px;
    height:44px;
    border:none;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 18px rgba(0,85,199,0.08);
    cursor:pointer;
    flex:0 0 auto;
}

.admin-main-content{
    padding-bottom:28px;
}

.admin-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.admin-stat-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
    padding:20px 22px;
    box-shadow:0 10px 24px rgba(0,85,199,0.05);
}

.admin-stat-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:14px;
    background:#eaf2ff;
    color:var(--primary);
    margin-bottom:12px;
}

.admin-stat-icon .material-symbols-outlined{
    font-size:22px;
    color:currentColor;
}

.admin-stat-label{
    display:block;
    color:var(--muted-2);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-family:'Plus Jakarta Sans',sans-serif;
    margin-bottom:8px;
    line-height:1.4;
}

.admin-stat-value{
    display:block;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:32px;
    font-weight:800;
    color:var(--text);
    line-height:1;
}

.admin-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
    padding:24px;
    box-shadow:0 10px 24px rgba(0,85,199,0.05);
}

.admin-card h3{
    margin:0 0 18px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:22px;
    font-weight:800;
    color:var(--text);
}

.admin-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:18px;
}

.admin-toolbar .field{
    margin:0;
    min-width:220px;
}

.admin-btn{
    width:auto;
    min-width:120px;
    padding:14px 18px;
    border:none;
    border-radius:16px;
    background:linear-gradient(135deg,var(--primary),var(--primary-2));
    color:#fff;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:800;
    cursor:pointer;
}

.admin-btn.secondary{
    background:#eef5ff;
    color:var(--primary);
    border:1px solid var(--border);
}

.badge-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:86px;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.badge-pill.active{
    background:#e8f7ec;
    color:#166534;
}

.badge-pill.pending{
    background:#fff6db;
    color:#8a6200;
}

.badge-pill.inactive,
.badge-pill.rejected{
    background:#fdeaea;
    color:#991b1b;
}

.admin-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.admin-actions a,
.admin-actions button{
    width:auto;
    min-width:88px;
    padding:10px 12px;
    border-radius:12px;
    border:none;
    cursor:pointer;
    font-size:13px;
    font-weight:700;
}

.admin-actions .btn-view{
    background:#eef5ff;
    color:var(--primary);
}

.admin-actions .btn-approve{
    background:#e8f7ec;
    color:#166534;
}

.admin-actions .btn-reject{
    background:#fdeaea;
    color:#991b1b;
}

.admin-login-shell{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.admin-login-main{
    flex:1;
}

@media (max-width:1100px){
    .admin-stat-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

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

    .admin-sidebar{
        position:fixed;
        left:-320px;
        top:0;
        width:280px;
        z-index:200;
        transition:left .25s ease;
        box-shadow:20px 0 40px rgba(0,85,199,0.08);
    }

    .admin-sidebar.is-open{
        left:0;
    }

    .admin-menu-toggle{
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }
}

@media (max-width:768px){
    .admin-topbar{
        padding:18px 18px 12px;
    }

    .admin-topbar h1{
        font-size:24px;
    }

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

    .admin-card{
        padding:18px;
        border-radius:20px;
    }
}

.qr-panel-card {
  width: 100%;
  position: relative;
  z-index: 3;
}

.qr-panel-card .form,
.qr-panel-card input,
.qr-panel-card select,
.qr-panel-card button,
.qr-panel-card a {
  position: relative;
  z-index: 4;
}

.qr-side-result {
  margin-top: 18px;
}

.qr-panel-card .qr-preview-box {
  margin-bottom: 16px;
}

.qr-panel-card .qr-image-frame img {
  max-width: 100%;
  height: auto;
  display: block;
}

.qr-panel-card .qr-link-actions,
.qr-panel-card .qr-public-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.qr-panel-card .primary-btn {
  cursor: pointer;
}

.home-hero,
.home-hero-inner,
.login-wrap {
  position: relative;
}

.minimal-header{
    background:#fff;
    border-bottom:1px solid var(--border);
    padding:12px 18px;
}

.minimal-header .brand{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:800;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.minimal-footer{
    text-align:center;
    padding:16px;
    color:var(--muted);
    font-size:13px;
}


.vehicle-inline-cell{
    display:grid;
    gap:8px;
}

.vehicle-inline-main{
    color:var(--text);
    font-weight:700;
    line-height:1.5;
}

.vehicle-toggle-btn{
    width:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border:none;
    border-radius:12px;
    background:#eef5ff;
    color:var(--primary);
    font-size:13px;
    font-weight:800;
    cursor:pointer;
}

.vehicle-expand-row td{
    background:#fafcff;
}

.vehicle-expand-box{
    padding:12px 4px 4px;
}

.vehicle-expand-title{
    margin-bottom:12px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:14px;
    font-weight:800;
    color:var(--text);
    text-transform:uppercase;
    letter-spacing:.06em;
}

.vehicle-expand-list{
    display:grid;
    gap:10px;
}

.vehicle-expand-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:16px;
    background:#fff;
}

.vehicle-expand-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
}

.vehicle-expand-meta strong{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:15px;
    font-weight:800;
    color:var(--text);
}

.vehicle-expand-meta span{
    font-size:13px;
    color:var(--muted-2);
}

@media (max-width:768px){
    .vehicle-expand-item{
        flex-direction:column;
        align-items:flex-start;
    }
}


.vehicles-hero-v4 .home-hero-inner{
    align-items:start;
}

.vehicles-action-card{
    padding:32px;
}

.vehicles-action-links{
    margin-top:0;
}

.vehicle-card-list{
    display:grid;
    gap:18px;
}

.vehicle-user-card h3{
    margin:0 0 10px;
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:24px;
    font-weight:800;
    color:var(--text);
}

.vehicle-user-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.vehicle-user-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}

.vehicle-user-meta span{
    font-size:14px;
    color:var(--muted-2);
}

.vehicle-user-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
}

.vehicle-user-actions form{
    margin:0;
}

.vehicle-enable-btn{
    background:linear-gradient(135deg,#166534 0%,#1f8a43 100%);
}

.vehicle-disable-btn{
    background:linear-gradient(135deg,#b91c1c 0%,#dc2626 100%);
}

@media (max-width:768px){
    .vehicles-action-card{
        padding:24px;
    }

    .vehicle-user-actions{
        flex-direction:column;
    }

    .vehicle-user-actions form{
        width:100%;
    }

    .vehicle-user-actions .admin-btn{
        width:100%;
    }
}