:root{--green:#06381f;--green2:#0a633a;--green3:#0b8b52;--gold:#ffd54f;--bg:#f3f8f5;--text:#15231b;--muted:#65766b;--danger:#b3261e;--success:#08763f;--warn:#a15c00;--info:#0c6597;--card:#fff;--line:#dfeae4;--shadow:0 12px 30px rgba(12,51,31,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans Bengali','Hind Siliguri','Nirmala UI','SolaimanLipi',Arial,sans-serif;line-height:1.65;font-size:15px}a{text-decoration:none;color:inherit}.container{max-width:1240px;margin:0 auto;padding:22px}.topbar{background:linear-gradient(135deg,#062d1a,#084d2d 62%,#06381f);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;box-shadow:0 10px 28px rgba(0,0,0,.15);position:sticky;top:0;z-index:9}.brand{display:flex;gap:12px;align-items:center}.brand h1{margin:0;font-size:23px;letter-spacing:-.3px}.brand p{margin:0;color:#d5eadf;font-size:13px}.brand-logo{height:54px;width:54px;object-fit:contain;border-radius:50%;background:#fff;padding:3px}.brand-logo.ccc{border-radius:13px}.topbar nav{display:flex;gap:10px;flex-wrap:wrap}.topbar nav a{padding:8px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px}.topbar nav a:hover{background:#fff;color:var(--green)}
.portal-gateway,.login-bg{min-height:calc(100vh - 165px);background:linear-gradient(90deg,rgba(247,252,249,.88),rgba(247,252,249,.78)),url('../images/cumilla_green_city.svg') center/cover no-repeat;border-radius:28px;padding:42px;display:grid;align-items:center;box-shadow:inset 0 0 0 1px rgba(8,59,36,.08)}.login-bg{grid-template-columns:1fr;justify-items:center}.gateway-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%;max-width:1040px;margin:auto}.gateway-card,.login-panel{background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border:1px solid rgba(8,59,36,.12);border-radius:24px;padding:30px;box-shadow:0 18px 48px rgba(8,59,36,.12)}.url-pill{display:inline-flex;align-items:center;gap:7px;background:#064224;color:#fff;border-radius:999px;padding:7px 13px;font-weight:900;margin-bottom:12px;font-size:13px}.login-panel{max-width:500px;width:100%}.login-panel h2,.gateway-card h2{margin:4px 0 14px;font-size:26px}.login-brandline{display:flex;align-items:center;gap:10px;margin-bottom:10px}.login-brandline img{height:46px;width:46px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.restricted-note{background:#f1fbf5;border:1px solid #cfe8d9;border-radius:16px;padding:14px;color:#264237}.restricted-note.danger-note{background:#fff8f1;border-color:#f4d4ad;color:#614000}.hero{display:grid;grid-template-columns:1fr;gap:24px;align-items:center}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.card h3,.card h2{margin-top:0}.stat{position:relative;overflow:hidden;min-height:120px}.stat b{font-size:28px;color:var(--green);display:block;line-height:1.25}.stat span{color:var(--muted);font-weight:800}.stat:after{content:'';position:absolute;right:-25px;top:-25px;height:95px;width:95px;border-radius:50%;background:rgba(8,59,36,.08)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:10px 16px;cursor:pointer;font-weight:800;background:#e8efe9;color:var(--green);transition:.2s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.08)}.btn.primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff}.btn.gold{background:var(--gold);color:#1b1b1b}.btn.danger{background:#ffe8e8;color:var(--danger)}.btn.success{background:#e6f7ee;color:var(--success)}.btn.full{width:100%}.actions{display:flex;gap:10px;flex-wrap:wrap}.alert{padding:12px 16px;border-radius:12px;margin-bottom:14px;font-weight:800}.alert.success{background:#e7f7ee;color:var(--success);border:1px solid #b9e7ca}.alert.danger{background:#ffe9e9;color:var(--danger);border:1px solid #ffc4c4}.form{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.field{grid-column:span 6}.field.full{grid-column:span 12}.field label{display:block;font-weight:900;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #d3e0d9;border-radius:13px;padding:12px 13px;font-size:15px;background:#fff;font-family:inherit}.field textarea{min-height:90px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(11,139,82,.18);border-color:#4ea577}.hint{color:var(--muted);font-size:13px}.table-wrap{overflow:auto;border-radius:14px;border:1px solid #e2ebe6}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:12px 11px;border-bottom:1px solid #edf2ef;vertical-align:top}.table th{background:#f1f6f3;text-align:left;color:#24382d;white-space:nowrap}.table tr:hover td{background:#fbfdfc}.badge{display:inline-block;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:900;white-space:nowrap}.badge.info{background:#e6f4fb;color:var(--info)}.badge.success{background:#e6f7ee;color:var(--success)}.badge.danger{background:#ffe8e8;color:var(--danger)}.badge.warning{background:#fff3df;color:var(--warn)}.badge.primary{background:#e8edff;color:#253c9b}.badge.master{background:#fff6d2;color:#614500;border:1px solid #ffe392}.sidebar-layout{display:grid;grid-template-columns:260px 1fr;gap:20px}.sidebar{background:linear-gradient(180deg,#06381f,#075333);border-radius:18px;padding:15px;border:1px solid rgba(255,255,255,.15);height:max-content;position:sticky;top:96px;color:#eafff2;box-shadow:var(--shadow)}.sidebar a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;color:#eafff2}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.14);font-weight:900}.sidebar-title{padding:8px 12px;color:#fff;font-weight:900;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:8px}.master-box{border:1px solid rgba(255,213,79,.4);border-radius:14px;margin-top:16px;padding:8px;background:rgba(255,213,79,.08)}.profile-photo{width:95px;height:120px;object-fit:cover;border-radius:10px;border:1px solid #ddd}.footer{background:linear-gradient(135deg,#062d1a,#06381f);color:#eafff2;padding:26px 24px;margin-top:26px}.footer-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:20px;align-items:center}.login-box{max-width:520px;margin:34px auto}.document-note{background:#fff9e8;border:1px solid #ffe0a0;padding:12px;border-radius:12px;color:#654100}.report-box{border-left:5px solid var(--green);background:#fbfffc;padding:13px;border-radius:10px}.condition-box{background:#f1fbf5;border:1px solid #cfe8d9;border-radius:16px;padding:16px;margin:8px 0}.check-list{list-style:none;padding:0;margin:0}.check-list li{margin:6px 0}.check-list li:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e3f6eb;color:var(--success);font-weight:900;margin-right:7px}.print-tools{margin:18px 0}.logo-circle{width:95px;height:95px;border-radius:50%;background:#fff;border:5px solid var(--green);display:grid;place-items:center;margin:0 auto 14px;color:var(--green);font-weight:900;font-size:24px}.atm-card{width:85.6mm;height:54mm;background:linear-gradient(135deg,#f8fbf9,#e8f1eb);border:2px solid var(--green);border-radius:14px;padding:10px;position:relative;overflow:hidden;color:#10251a;box-shadow:0 12px 28px rgba(0,0,0,.12);margin:0 14px 16px 0;display:inline-block;vertical-align:top}.atm-card.owner{background:linear-gradient(135deg,#f8fbf9,#e7f5ed)}.atm-card.driver{background:linear-gradient(135deg,#f8fbf9,#eef4ff);border-color:#0b4c79}.atm-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(8,59,36,.11),transparent 35%),radial-gradient(circle at 20% 80%,rgba(255,212,77,.16),transparent 35%)}.atm-card>*{position:relative}.card-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(8,59,36,.25);padding-bottom:4px}.card-head h3{margin:0;font-size:12px;line-height:1.2;color:var(--green);text-align:center}.small-seal{height:30px;width:30px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid rgba(0,0,0,.15);padding:2px}.card-body{display:grid;grid-template-columns:55px 1fr 62px;gap:7px;margin-top:7px}.card-body img.photo{width:55px;height:68px;object-fit:cover;border:1px solid #999;border-radius:5px}.qr{background:#fff;border:1px solid #333;padding:4px;border-radius:5px;display:grid;place-items:center}.qr img{width:52px;height:52px}.info-line{font-size:9.6px;line-height:1.35}.info-line b{color:#000}.plate{width:297mm;max-width:100%;height:180mm;background:#f7f9f7;border:10px solid #07361f;border-radius:26px;padding:0;overflow:hidden;position:relative;margin:auto;box-shadow:0 12px 35px rgba(0,0,0,.18)}.plate-top{height:50mm;background:#07361f;color:#fff;display:grid;grid-template-columns:42mm 1fr 45mm;align-items:center;padding:8mm}.plate-title{text-align:center}.plate-title h1{margin:0;font-size:28pt;line-height:1.05}.plate-title h2{margin:3mm 0 0;color:var(--gold);font-size:18pt}.plate-seal{width:34mm;height:34mm;border-radius:50%;background:white;object-fit:contain;padding:2mm}.plate-qr{width:35mm;height:35mm;background:#fff;border-radius:5mm;display:grid;place-items:center;padding:3mm}.plate-qr img{width:100%;height:100%}.plate-body{text-align:center;position:relative;padding:10mm 12mm}.plate-body:before{content:'কুমিল্লা';position:absolute;inset:19mm 0 0 0;color:rgba(8,59,36,.055);font-size:60mm;font-weight:900;z-index:0}.plate-body>*{position:relative}.plate-label{font-size:22pt;font-weight:900}.plate-number{font-size:56pt;font-weight:900;letter-spacing:2px;margin:5mm 0;color:#1d1b1b}.plate-temporary{display:inline-block;background:#07361f;color:#fff;border-radius:9mm;padding:3mm 10mm;font-size:18pt}.plate-bottom{position:absolute;left:12mm;right:12mm;bottom:8mm;display:flex;justify-content:space-between;align-items:center;font-size:20pt;font-weight:900;color:#07361f}.lotus{font-size:42pt;color:#e91e63}.print-only{display:none}.watermark-city{background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.75)),url('../images/cumilla_green_city.svg') center/cover no-repeat}.soft-heading{font-size:28px;margin:0 0 12px}.mini-kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.mini-kpi .stat{min-height:95px}.verify-result{max-width:680px;margin:20px auto}.divider{height:1px;background:var(--line);margin:14px 0}.required-star{color:var(--danger)}
@media(max-width:900px){.portal-gateway,.login-bg{padding:18px}.gateway-grid,.sidebar-layout,.footer-grid{grid-template-columns:1fr}.topbar{display:block}.topbar nav{margin-top:12px}.grid{display:block}.card,.gateway-card{margin-bottom:16px}.field{grid-column:span 12}.sidebar{position:static}.plate{height:auto;min-height:115mm}.plate-number{font-size:28pt}.plate-title h1{font-size:20pt}.mini-kpi{grid-template-columns:1fr 1fr}.brand h1{font-size:20px}}
@media print{body{background:#fff}.topbar,.footer,.sidebar,.print-tools,.no-print{display:none!important}.container{max-width:none;padding:0}.card{box-shadow:none;border:0}.print-only{display:block}.atm-card,.plate{box-shadow:none;page-break-inside:avoid}.plate{width:297mm;height:180mm}.atm-card{margin:0}.sidebar-layout{display:block}}
.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.permission-item{display:flex!important;align-items:center;gap:8px;border:1px solid #dbe7e0;background:#fbfffc;border-radius:12px;padding:10px 12px;margin:0!important;font-weight:800}.permission-item input{width:auto!important;accent-color:#0a633a}
@media(max-width:900px){.permission-grid{grid-template-columns:1fr}}

.terms-agree-box p{margin-top:0}.terms-check{display:flex!important;gap:10px;align-items:flex-start;margin-top:14px;padding:12px;border:1px solid #cfe8d9;background:#fbfffc;border-radius:12px}.terms-check input{width:auto!important;margin-top:4px;accent-color:#0a633a}.terms-page{line-height:1.85}.terms-list{padding-left:26px}.terms-list li{margin:10px 0;padding-left:4px}.temporary-notice{margin-top:14px;background:#fff8e6;border:1px solid #ffd38a;color:#5a3d00;border-radius:14px;padding:14px 16px;font-weight:800}.mini-kpi.compact{grid-template-columns:repeat(2,1fr)}.mini-kpi.compact .stat{min-height:86px}.login-bg{background:linear-gradient(90deg,rgba(247,252,249,.58),rgba(247,252,249,.42)),url('../images/cumilla_green_city.svg') center/cover no-repeat}.reissue-card{border-left:5px solid var(--green)}

.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:14px}
.stat-card{background:#f4fff8;border:1px solid #d9f1df;border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(0,64,32,.06)}
.stat-card span{display:block;color:#466252;font-size:14px;margin-bottom:8px}.stat-card strong{font-size:28px;color:#075a2b}
.compact-filter{align-items:end}.compact-filter .field{min-width:160px}
select:disabled{opacity:.6;background:#f4f4f4}
code{background:#eef8f0;border:1px solid #d6ecdb;padding:2px 6px;border-radius:8px;color:#075a2b}
.alert.warning{background:#fff3df;color:var(--warn);border:1px solid #ffd89b}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}


.site-footer{
    margin-top:34px;
    background:
        radial-gradient(circle at 8% 20%, rgba(255,213,79,.20), transparent 28%),
        linear-gradient(135deg,#042817 0%,#06381f 42%,#075333 100%);
    color:#eafff2;
    border-top:4px solid #ffd54f;
    box-shadow:0 -10px 30px rgba(6,56,31,.12);
}

.site-footer-inner{
    max-width:1240px;
    margin:0 auto;
    padding:30px 24px 22px;
    display:grid;
    grid-template-columns:1.25fr .9fr 1.25fr;
    gap:24px;
    align-items:center;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:14px;
}

.footer-logo-wrap{
    display:flex;
    gap:8px;
    align-items:center;
}

.footer-logo-wrap img{
    width:54px;
    height:54px;
    object-fit:contain;
    background:#fff;
    border-radius:50%;
    padding:4px;
    border:1px solid rgba(255,255,255,.55);
}

.footer-brand h3{
    margin:0;
    font-size:22px;
    line-height:1.25;
    color:#fff;
}

.footer-brand p{
    margin:4px 0 0;
    color:#d8f1e2;
    font-weight:700;
}

.footer-values{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
}

.footer-values span{
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    padding:7px 12px;
    font-weight:800;
    color:#fff9d7;
}

.footer-maintenance{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    padding:16px 18px;
}

.footer-maintenance b{
    color:#ffd54f;
    font-size:16px;
}

.footer-maintenance p{
    margin:6px 0 0;
    line-height:1.75;
    color:#f4fff8;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.14);
    max-width:1240px;
    margin:0 auto;
    padding:12px 24px 16px;
    display:flex;
    justify-content:space-between;
    gap:14px;
    color:#cfe8d9;
    font-size:14px;
}

@media(max-width:900px){
    .site-footer-inner{
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-brand{
        justify-content:center;
        flex-direction:column;
    }

    .footer-bottom{
        flex-direction:column;
        text-align:center;
    }
}