:root{--primary:#e0b13d;--primary-dark:#9b6b08;--accent:#ffd73a;--ink:#16120a;--cream:#fff9e8;--paper:#fffdf7;--muted:#6b6251;--danger:#b42318;--success:#147a3d}
*{box-sizing:border-box}body{margin:0;font-family:Arial,'Noto Sans Bengali',sans-serif;background:linear-gradient(180deg,#fff9e8,#f5edd8);color:var(--ink)}
header{display:flex;align-items:center;gap:16px;padding:18px max(20px,calc((100% - 1180px)/2));background:linear-gradient(135deg,#0c0c0b,#282012);color:#fff;border-bottom:5px solid var(--primary)}.logo{width:78px;height:78px;object-fit:contain;border-radius:50%;background:#fff;padding:3px;border:2px solid var(--primary)}h1{margin:0;color:var(--accent)}header h3,header p{margin:4px 0;color:#f6edcf}
nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:12px;background:#17130d;border-bottom:1px solid #4b3a18}button{border:0;border-radius:9px;padding:11px 15px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#201600;font-weight:700;cursor:pointer;box-shadow:0 2px 5px #0002}button:hover{filter:brightness(1.05);transform:translateY(-1px)}button.danger,.danger{background:#b42318;color:#fff}.logout{background:#5b4630;color:#fff}.wrap{max-width:1180px;margin:auto;padding:22px}.page{display:none;background:var(--paper);border:1px solid #ead9ad;border-radius:16px;padding:22px;box-shadow:0 8px 25px #2c210b14}.page.active{display:block}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#3b2c0d}input,textarea,select{width:100%;padding:11px;border:1px solid #cdbb88;border-radius:8px;background:#fffdf7;font:inherit;color:var(--ink)}textarea{min-height:88px}.preview,.profile-photo{max-width:130px;max-height:150px;object-fit:cover;border:2px solid var(--primary);border-radius:10px;margin-top:8px}.login-box{max-width:650px;margin:auto}.searchbar{display:flex;gap:10px;flex-wrap:wrap}.searchbar input,.searchbar select{flex:1}.card{margin:12px 0;padding:16px;background:#fffdf7;border-left:5px solid var(--primary);border-radius:10px;box-shadow:0 3px 12px #0000000b}.stat{display:inline-block;margin:5px;padding:13px 18px;border-radius:10px;background:#1a160e;color:#fff;border-bottom:3px solid var(--primary)}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th{background:#20190d;color:#ffe89a}th,td{padding:10px;border:1px solid #dec98f;text-align:left}.success{padding:12px;border-radius:8px;background:#e8f7ed;color:#126b35;margin-top:10px}.hint,small{color:var(--muted)}.position-add{display:flex;gap:10px;flex-wrap:wrap}.position-add input{flex:1}@media(max-width:650px){header{padding:14px;align-items:flex-start}.logo{width:58px;height:58px}header h1{font-size:22px}.wrap{padding:12px}.page{padding:15px}nav button{flex:1 1 44%}}
@media print{nav,.no-print{display:none!important}.wrap{padding:0}.page{border:0;box-shadow:none}}
/* Admin CRUD action controls */
td button{margin:2px}.danger{background:#b42318!important;color:#fff!important}
@media(max-width:700px){table{font-size:12px}td button{display:block;width:100%;margin:3px 0}}

/* Print-ready approved member ID card */
.idcard{max-width:760px;margin:18px auto;background:linear-gradient(135deg,#fffdf7,#f6e8ba);border:3px solid var(--primary-dark);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #0003}.idcard-brand{display:flex;align-items:center;gap:12px;padding:12px 18px;background:linear-gradient(135deg,#17130d,#3a2b10);color:#fff;border-bottom:4px solid var(--primary)}.idlogo{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.orgname{font-size:24px;font-weight:800;color:#ffe89a}.established{font-weight:700;color:#fff4ca}.idcard-main{display:grid;grid-template-columns:150px 1fr 120px;gap:16px;align-items:center;padding:18px}.photo-wrap{display:flex;justify-content:center}.idphoto,.photo-placeholder{width:125px;height:150px;object-fit:cover;border:3px solid var(--primary-dark);border-radius:10px;background:#fff}.photo-placeholder{display:grid;place-items:center;color:#806b3a;font-weight:bold}.idinfo h2{margin:0 0 10px;color:#3b2c0d;font-size:25px}.idinfo p{margin:6px 0}.qr-side{text-align:center;border-left:1px dashed #a98938;padding-left:12px}.qr-side small{display:block;margin-top:5px}@media(max-width:620px){.idcard-main{grid-template-columns:1fr;text-align:center}.qr-side{border-left:0;border-top:1px dashed #a98938;padding:12px 0 0}.orgname{font-size:19px}.idinfo{text-align:left}}@media print{body{background:#fff}.print-idcard{width:85.6mm;min-height:54mm;max-width:none;border-radius:3mm;box-shadow:none;margin:0;page-break-inside:avoid}.print-idcard .idcard-brand{padding:3mm 4mm;border-bottom-width:1.2mm}.print-idcard .idlogo{width:13mm;height:13mm}.print-idcard .orgname{font-size:14pt}.print-idcard .established{font-size:8pt}.print-idcard .idcard-main{grid-template-columns:27mm 1fr 25mm;gap:3mm;padding:3.5mm}.print-idcard .idphoto,.print-idcard .photo-placeholder{width:24mm;height:29mm;border-width:.7mm;border-radius:1.5mm}.print-idcard .idinfo h2{font-size:13pt;margin-bottom:2mm}.print-idcard .idinfo p{font-size:8pt;margin:1.1mm 0}.print-idcard .qr-side{padding-left:2mm}.print-idcard .qr-side small{font-size:6pt}}


/* Site Footer */
.site-footer{margin-top:40px;padding:22px 16px;text-align:center;background:linear-gradient(135deg,#123c2d,#1f5a43);color:#fff;border-top:3px solid #d4af37;font-size:14px;line-height:1.9;box-shadow:0 -4px 16px rgba(0,0,0,.12)}
.site-footer span{font-weight:700;color:#f6d878}.site-footer a{color:#ffd95a;font-weight:700;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-role{font-weight:700;color:#fff;margin-top:3px}
@media print{.site-footer{display:none}}

/* Accounting Module */
.account-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.account-tab{padding-top:4px}.money-receipt{width:520px;max-width:100%;margin:16px auto;padding:18px;background:#fffdf7;border:2px solid #9b6b08;border-radius:12px;font-family:Arial,'Noto Sans Bengali',sans-serif;color:#16120a}.receipt-head{display:flex;align-items:center;gap:12px;border-bottom:2px solid #e0b13d;padding-bottom:10px}.receipt-head img{width:58px;height:58px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid #e0b13d}.receipt-head h2{margin:0 0 4px;color:#7a5305}.receipt-no{padding:10px 0;text-align:right}.money-receipt table{background:#fff}.money-receipt td:first-child{font-weight:700;width:38%}.receipt-footer{margin-top:20px;text-align:right;font-size:13px}
@media print{.money-receipt{box-shadow:none!important;margin:0 auto}.account-tabs,#feeSettingsBox{display:none!important}}
.accounting-stats,.fee-dashboard-stats,.report-cards,.account-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}.accounting-stats .stat,.fee-dashboard-stats>div,.report-cards>div{background:#17130b;color:#fff;padding:12px;border-radius:10px;border:1px solid #c99a22;text-align:center}.account-feature-grid button{font-weight:700;padding:12px}.fee-member-card{border-left:4px solid #c99a22}.fee-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0}.fee-stats>div{background:#fff6d8;padding:10px;border-radius:8px;text-align:center}.finance-row{border:1px solid #ddd;padding:12px;border-radius:10px;margin:8px 0;background:#fffdf7}.muted{opacity:.75}.account-tab table{min-width:720px}.account-tab .tablewrap{overflow:auto}

.member-print-area{display:none}
.a4-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:15px}.a4-download-actions{display:flex;gap:8px;flex-wrap:wrap}
.a4-preview-stack{display:flex;flex-direction:column;gap:18px;background:#eee;padding:12px;border-radius:12px}.a4-member-sheet{box-sizing:border-box;width:100%;max-width:1120px;min-height:760px;margin:0 auto;background:#fff;color:#111;padding:28px 32px;box-shadow:0 3px 14px #0002;font-family:Arial,"Noto Sans Bengali",sans-serif}.print-header{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;margin-bottom:10px;border-bottom:2px solid #222;padding-bottom:8px;position:relative}.print-logo{width:52px;height:52px;object-fit:contain}.print-header h1{font-size:22px;margin:0 0 3px;color:#8b6500}.print-header div{font-size:13px}.print-date{position:absolute;right:0;top:4px;font-size:11px!important;color:#444}.member-print-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.member-print-table th,.member-print-table td{border:1px solid #333;padding:6px 5px;vertical-align:middle;overflow-wrap:anywhere}.member-print-table th{text-align:center;background:#f4e8bd;color:#111}.member-print-table th:nth-child(1){width:7%}.member-print-table th:nth-child(2){width:20%}.member-print-table th:nth-child(3){width:20%}.member-print-table th:nth-child(4){width:18%}.member-print-table th:nth-child(5){width:10%}.member-print-table th:nth-child(6){width:25%}.member-print-table .serial,.member-print-table .blood{text-align:center}.member-print-table .name{font-weight:600}.member-print-table .phone,.member-print-table .member-id{white-space:nowrap;overflow-wrap:normal}.member-print-table tr{break-inside:avoid;page-break-inside:avoid}.print-footer{display:flex;justify-content:space-between;margin-top:9px;font-size:11px;color:#333}
@media(max-width:700px){.a4-list-toolbar{align-items:stretch}.a4-download-actions{width:100%}.a4-download-actions button{flex:1}.a4-preview-stack{padding:6px;overflow-x:auto}.a4-member-sheet{min-width:760px;padding:20px}.member-print-table{font-size:10px}}
@media print{
 @page{size:A4 landscape;margin:10mm}
 body.printing-members *{visibility:hidden!important}
 body.printing-members #memberPrintArea,body.printing-members #memberPrintArea *{visibility:visible!important}
 body.printing-members #memberPrintArea{display:block!important;position:absolute;left:0;top:0;width:100%;background:#fff}
 body.printing-members .wrap{padding:0!important}
 .a4-member-sheet{width:100%;max-width:none;min-height:0;box-shadow:none;padding:0;font-family:Arial,"Noto Sans Bengali",sans-serif}
 .print-header{margin-bottom:10px}.print-logo{width:48px;height:48px}.print-header h1{font-size:20px}.print-header div{font-size:12px}.print-date{font-size:10px!important}
 .member-print-table{font-size:10px}.member-print-table th,.member-print-table td{padding:5px 4px}.member-print-table .phone,.member-print-table .member-id{white-space:nowrap}
 .print-footer{font-size:11px}
}

/* Print isolation: only the selected print target is printed */
@media print{
 body.printing-idcard *{visibility:hidden!important}
 body.printing-idcard .print-idcard,
 body.printing-idcard .print-idcard *{visibility:visible!important}
 body.printing-idcard .print-idcard{position:absolute!important;left:0;top:0;margin:0!important}
}

/* Multi-page navigation + Home */
.main-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;padding:12px;margin:12px auto;max-width:1200px}
.main-nav a,.main-nav button{display:inline-block;text-decoration:none;border:1px solid #c9a24d;border-radius:10px;padding:9px 12px;background:#fffaf0;color:#5d420c;font-weight:700;cursor:pointer}
.main-nav a:hover,.main-nav button:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.08)}
.home-page{max-width:1200px;margin:0 auto}.hero-card{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center;padding:35px;border-radius:20px;background:linear-gradient(135deg,#fffaf0,#f6ead0);border:1px solid #dfc27c;box-shadow:0 8px 28px rgba(80,55,10,.08)}
.hero-logo img{width:150px;height:150px;object-fit:contain;display:block;margin:auto}.eyebrow{font-weight:800;color:#9b6b08}.hero-content h2{font-size:clamp(28px,4vw,46px);margin:8px 0 12px}.hero-content p{font-size:17px;line-height:1.8;max-width:760px}.home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.primary-btn,.secondary-btn{padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:800}.primary-btn{background:#9b6b08;color:#fff}.secondary-btn{background:#fff;border:1px solid #c9a24d;color:#6b4b0d}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0}.home-tile{display:flex;flex-direction:column;gap:7px;text-decoration:none;color:inherit;background:#fff;border:1px solid #e4d5b5;border-radius:15px;padding:20px;min-height:90px;box-shadow:0 3px 12px rgba(0,0,0,.05)}.home-tile b{font-size:18px}.home-tile span{color:#666}.simple-page{max-width:900px;margin:20px auto;padding:28px;background:#fff;border:1px solid #e4d5b5;border-radius:16px;line-height:1.9}.page{display:none}.page.active{display:block}
@media(max-width:760px){.hero-card{grid-template-columns:1fr;text-align:center;padding:22px}.home-grid{grid-template-columns:1fr}.main-nav{justify-content:flex-start}.main-nav a,.main-nav button{font-size:13px;padding:8px 9px}}

/* Home page: compact two-column dashboard matching the supplied design */
body.home-view{background:#111;color:#111}
body.home-view .main-nav,body.home-view .site-footer{display:none}
body.home-view .wrap{max-width:1080px;padding:0 28px 28px;background:#111}
body.home-view .home-page{display:block!important;background:#111;border:0;box-shadow:none;padding:12px 0 28px;max-width:none;border-radius:0}
.home-brand{display:flex;align-items:center;justify-content:center;gap:28px;text-align:left;background:#111;color:#fff;border-bottom:5px solid #e0b13d;padding:28px 10px 24px}
.home-logo{width:150px;height:150px;object-fit:contain;border-radius:50%;background:#fff;padding:3px;border:2px solid #e0b13d}
.home-brand h2{margin:0;color:#ffd83d;font-size:clamp(30px,4vw,54px)}
.home-brand h3{margin:8px 0;color:#fff2d0;font-size:clamp(20px,2.5vw,34px)}
.home-brand p{margin:8px 0 0;color:#fff5da;font-size:clamp(15px,1.8vw,24px)}
.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:28px 4px 0}
.home-tile{min-height:96px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;text-decoration:none;color:#17120a;background:linear-gradient(135deg,#e9b72d,#ffd83e);border-radius:24px;border:1px solid #ffe889;box-shadow:0 4px 0 #8f6811,0 7px 15px #0006;font-size:clamp(22px,2.6vw,34px);font-weight:800;transition:.15s}
.home-tile b{font-weight:900}.home-tile:hover{transform:translateY(-2px);filter:brightness(1.04)}
.home-grid .home-tile:last-child{grid-column:1/-1}
.month-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:12px 0 16px}
.month-check{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:6px;padding:10px;border:1px solid #d8c28d;border-radius:10px;background:#fffaf0;font-weight:700}
.month-check input{width:auto}.month-check small{font-size:11px}.month-check.paid{background:#e9f8ee;border-color:#72b88a}.month-check.due{background:#fff4cf;border-color:#e0b13d}.month-check.future{opacity:.65}.month-check.not-started{opacity:.45}
.event-profile{border-left:5px solid #9b6b08}.account-feature-grid button{min-height:52px}
@media(max-width:700px){.home-brand{gap:12px;padding:18px 5px}.home-logo{width:82px;height:82px}.home-grid{gap:10px;padding-top:16px}.home-tile{min-height:72px;border-radius:16px;font-size:18px}.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.home-view .wrap{padding:0 10px 18px}}


/* =========================================================
   AGRADUT MEMBER SYSTEM - SAFE MOBILE UI
   This layer is intentionally last so it overrides older
   responsive rules without changing application logic.
   ========================================================= */
.mobile-menu-toggle{display:none}

@media (max-width: 700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{font-size:14px}
  img{max-width:100%;height:auto}

  /* Keep the public header compact */
  body:not(.home-view)>header,
  body.home-view>header{
    display:flex;
    width:100%;
    padding:10px 12px;
    gap:10px;
    border-bottom-width:3px;
  }
  header .logo{width:52px!important;height:52px!important;min-width:52px!important}
  header h1{font-size:19px!important;line-height:1.2}
  header h3{font-size:12px!important}
  header p{font-size:10px!important}

  /* Mobile navigation = hamburger + drawer */
  .main-nav{
    position:relative;
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin:0;
    padding:8px;
    width:100%;
    max-width:none;
    z-index:1000;
  }
  .main-nav .mobile-menu-toggle{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:8px 12px;
    font-size:14px;
    background:#e0b13d;
    color:#17130d;
  }
  .main-nav a,.main-nav button:not(.mobile-menu-toggle){
    display:none;
    flex:1 1 calc(50% - 6px);
    min-width:0;
    min-height:42px;
    padding:9px 8px;
    font-size:12px;
    text-align:center;
    white-space:normal;
  }
  .main-nav.mobile-open a,
  .main-nav.mobile-open button:not(.mobile-menu-toggle){display:inline-flex;align-items:center;justify-content:center}

  /* Home screen: compact, no giant logo */
  body.home-view .wrap{
    width:100%!important;
    max-width:none!important;
    padding:0 10px 18px!important;
    margin:0!important;
  }
  body.home-view .home-page{
    width:100%!important;
    max-width:none!important;
    padding:8px 0 18px!important;
    margin:0!important;
  }
  body.home-view .home-brand{
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    padding:12px 6px 12px!important;
    border-bottom:3px solid #e0b13d!important;
  }
  body.home-view .home-logo{
    display:block!important;
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    object-fit:contain!important;
    border-radius:50%!important;
    padding:2px!important;
  }
  body.home-view .home-brand h2{
    margin:0!important;
    font-size:21px!important;
    line-height:1.25!important;
  }
  body.home-view .home-brand h3{
    margin:3px 0!important;
    font-size:12px!important;
  }
  body.home-view .home-brand p{
    margin:3px 0 0!important;
    font-size:10px!important;
  }
  body.home-view .home-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:16px 2px 0!important;
    margin:0!important;
  }
  body.home-view .home-tile{
    width:100%!important;
    min-height:68px!important;
    height:auto!important;
    padding:10px 6px!important;
    gap:4px!important;
    border-radius:14px!important;
    font-size:16px!important;
    line-height:1.2!important;
    box-shadow:0 3px 0 #8f6811,0 5px 10px #0005!important;
  }
  body.home-view .home-tile b{font-size:16px!important}
  body.home-view .home-grid .home-tile:last-child{grid-column:1/-1!important}

  /* All internal pages */
  .wrap{width:100%!important;max-width:none!important;padding:10px!important}
  .page{width:100%!important;max-width:none!important;padding:12px!important;border-radius:12px}
  .grid{grid-template-columns:1fr!important;gap:10px!important}
  .full{grid-column:auto!important}
  label{font-size:14px}
  input,select,textarea{width:100%!important;min-height:44px}
  button{min-height:42px;padding:9px 12px}
  .searchbar,.position-add{display:flex;flex-direction:column;gap:8px}
  .searchbar>* ,.position-add>*{width:100%!important}
  .accounting-stats,.fee-dashboard-stats,.report-cards,.account-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .account-feature-grid button{min-height:54px}
  .tablewrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:650px;font-size:12px}
  td button{display:inline-block;width:auto!important;margin:2px}
  .money-receipt{width:100%;padding:12px}
  .idcard{width:100%;margin:8px auto}
  .idcard-main{grid-template-columns:1fr!important;text-align:center}
  .qr-side{border-left:0;border-top:1px dashed #a98938;padding:10px 0 0}
  .site-footer{font-size:12px;padding:16px 10px}
}

@media (max-width:380px){
  body.home-view .home-logo{width:62px!important;height:62px!important;min-width:62px!important;max-width:62px!important}
  body.home-view .home-brand h2{font-size:18px!important}
  body.home-view .home-tile{font-size:14px!important}
  body.home-view .home-tile b{font-size:14px!important}
  .accounting-stats,.fee-dashboard-stats,.report-cards,.account-feature-grid{
    grid-template-columns:1fr!important;
  }
}

@media print{
  .mobile-menu-toggle{display:none!important}
}


/* =========================================================
   AGRADUT EMS-STYLE PORTAL REDESIGN — final override layer
   ========================================================= */
:root{
  --ag-primary:#176b4d;
  --ag-primary-dark:#0e513a;
  --ag-accent:#d39a22;
  --ag-bg:#f4f7f6;
  --ag-card:#ffffff;
  --ag-text:#18312a;
  --ag-muted:#6b7d76;
  --ag-border:#dce7e2;
}
html,body{background:var(--ag-bg)!important;color:var(--ag-text)}
body{font-family:"Noto Sans Bengali","Noto Sans",Arial,sans-serif}
.site-header{background:#fff!important;border:0!important;border-bottom:1px solid var(--ag-border)!important;padding:18px 15px!important}
.site-header .header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:center;text-align:center;gap:18px}
.site-header .logo{width:88px;height:88px;object-fit:contain;border-radius:50%;background:#fff}
.header-brand h1{margin:0;color:var(--ag-primary);font-size:clamp(25px,3.5vw,38px)}
.header-brand p{margin:4px 0;color:var(--ag-accent);font-weight:800}
.header-brand h3{margin:3px 0 0;color:#54665f;font-size:15px}
.main-nav{max-width:1180px;margin:0 auto!important;padding:10px 14px!important;background:#fff;border-bottom:1px solid var(--ag-border);gap:6px!important}
.main-nav a,.main-nav button{border:0!important;background:transparent!important;color:#29483d!important;border-radius:8px!important;padding:10px 13px!important;box-shadow:none!important;font-weight:700}
.main-nav a:hover,.main-nav button:hover{background:#eaf4ef!important;color:var(--ag-primary)!important;transform:none!important}
.main-nav .mobile-menu-toggle{background:var(--ag-primary)!important;color:#fff!important}
.wrap{max-width:1180px!important;margin:auto}
body.home-view .wrap{background:var(--ag-bg)!important;max-width:none!important;padding:0 15px 35px!important}
body.home-view .main-nav{display:flex!important}
body.home-view .site-footer{display:block!important}
body.home-view .home-page{max-width:1180px!important;margin:auto!important;background:transparent!important;padding:25px 0!important}
.welcome-panel{background:linear-gradient(135deg,#0f6548,#1f8763);color:#fff;border-radius:18px;padding:34px;display:flex;align-items:center;justify-content:center;gap:25px;box-shadow:0 12px 30px rgba(23,107,77,.18)}
.welcome-logo img{width:120px;height:120px;border-radius:50%;background:#fff;padding:5px;object-fit:contain}
.welcome-kicker{font-size:13px;letter-spacing:2px;opacity:.8;font-weight:800}
.welcome-panel h2{font-size:clamp(26px,4vw,43px);margin:5px 0 10px}
.welcome-panel p{margin:0;line-height:1.8;opacity:.95}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:25px 0 13px;font-size:21px;font-weight:900;color:var(--ag-primary)}
.section-title a{font-size:13px;color:var(--ag-primary);text-decoration:none}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.service-card{border:1px solid var(--ag-border)!important;background:#fff!important;color:var(--ag-text)!important;border-radius:14px!important;min-height:105px!important;padding:17px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;text-decoration:none;box-shadow:0 3px 12px rgba(18,57,43,.06)!important;cursor:pointer;font-family:inherit}
.service-card span{font-size:28px}.service-card b{font-size:15px}.service-card small{color:var(--ag-muted);font-size:11px}
.service-card:hover{border-color:#9fc7b6!important;transform:translateY(-2px);box-shadow:0 8px 18px rgba(18,57,43,.10)!important}
.home-about-card,.content-page,.portal-login{background:#fff;border:1px solid var(--ag-border);border-radius:16px;box-shadow:0 4px 16px rgba(18,57,43,.05);padding:25px;margin-top:24px}
.home-about-inner{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:start;line-height:1.85}
.home-about-inner img{width:100px;height:100px;object-fit:contain;border-radius:50%;border:1px solid var(--ag-border)}
.text-link{color:var(--ag-primary);font-weight:800;text-decoration:none}
.content-page{max-width:1050px;margin:25px auto;line-height:1.85}
.about-heading{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--ag-border);padding-bottom:15px;margin-bottom:18px}
.about-heading img{width:100px;height:100px;object-fit:contain;border-radius:50%;border:1px solid var(--ag-border)}
.about-heading h2{color:var(--ag-primary);margin:0}
.about-public #aboutContent{font-size:16px}
.portal-login{max-width:440px;margin:35px auto;text-align:center}
.portal-login-icon{width:64px;height:64px;border-radius:50%;background:#e8f4ef;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 12px}
.portal-login h2{color:var(--ag-primary)}
.portal-login form{text-align:left}
button,.primary-action{font-family:inherit}
button:not(.mobile-menu-toggle){border-radius:8px}
.notice-card{display:flex;gap:18px;background:#fff;border:1px solid var(--ag-border);border-left:4px solid var(--ag-primary);padding:18px;border-radius:12px;margin:12px 0}
.notice-card img{width:130px;height:95px;object-fit:cover;border-radius:8px}
.notice-card h3{margin:5px 0;color:var(--ag-primary)}
.notice-card p{margin:0;line-height:1.75}
.notice-admin-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid var(--ag-border)}
.notice-admin-row small{display:block;color:var(--ag-muted);margin-top:4px}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.member-app-head{background:linear-gradient(135deg,#0f6548,#1f8763);color:#fff;border-radius:16px;padding:20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.member-app-head h2{margin:3px 0 0}.member-app-head button{background:#fff;color:#176b4d;border:0;padding:9px 13px}
.notice-banner{background:#fff7df;border:1px solid #ead59b;color:#705314;border-radius:10px;padding:12px;margin-bottom:15px;font-weight:700}
.member-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.member-dashboard-grid button{background:#fff;border:1px solid var(--ag-border);border-radius:14px;padding:18px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ag-text);box-shadow:0 3px 12px rgba(18,57,43,.05);font-family:inherit;cursor:pointer}
.member-dashboard-grid button span{font-size:27px}.member-dashboard-grid button b{color:var(--ag-primary)}.member-dashboard-grid button small{color:var(--ag-muted)}
.member-dashboard-content{margin-top:16px}
.member-info-card,.member-edit-card,.member-qr-card{background:#fff;border:1px solid var(--ag-border);border-radius:14px;padding:20px;box-shadow:0 3px 12px rgba(18,57,43,.05)}
.member-info-card{display:flex;gap:20px;align-items:center}.member-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover}.member-info-card h3{color:var(--ag-primary);margin-top:0}
.member-qr-card{text-align:center;max-width:360px;margin:auto}.member-qr-card #memberQR{display:flex;justify-content:center;margin:15px}
.member-payment-row{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #edf2ef}
.admin-portal{display:grid;grid-template-columns:235px 1fr;min-height:680px;background:#fff;border:1px solid var(--ag-border);border-radius:16px;overflow:hidden;box-shadow:0 5px 22px rgba(18,57,43,.08)}
.admin-sidebar{background:#0f4f3a;color:#fff;padding:15px;display:flex;flex-direction:column;gap:5px}
.admin-side-brand{text-align:center;padding:10px 5px 16px;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:7px}
.admin-side-brand img{width:60px;height:60px;background:#fff;border-radius:50%;object-fit:contain;display:block;margin:auto auto 7px}
.admin-side-brand b{display:block;font-size:18px}.admin-side-brand small{opacity:.75}
.admin-sidebar button{background:transparent;border:0;color:#fff;text-align:left;padding:10px 11px;border-radius:8px;font-family:inherit;cursor:pointer}
.admin-sidebar button:hover{background:rgba(255,255,255,.11)}
.admin-portal-main{padding:22px;background:#f7faf8}
.admin-topbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.admin-topbar span{color:var(--ag-muted);font-size:12px}.admin-topbar h2{margin:2px 0;color:var(--ag-primary)}
.admin-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.admin-stat-card{background:#fff;border:1px solid var(--ag-border);border-radius:12px;padding:14px;text-align:center}.admin-stat-card span{display:block;font-size:22px}.admin-stat-card b{display:block;font-size:25px;color:var(--ag-primary)}.admin-stat-card small{color:var(--ag-muted)}
.admin-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:18px}
.admin-overview-grid button{border:1px solid var(--ag-border);background:#fff;border-radius:13px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:5px;color:var(--ag-text);font-family:inherit;cursor:pointer}.admin-overview-grid button b{color:var(--ag-primary)}.admin-overview-grid button small{color:var(--ag-muted)}
.account-badge{display:inline-block;padding:7px 10px;background:#e8f7ef;color:#146a45;border-radius:8px;font-weight:700;margin:4px}
.empty-state{padding:28px;text-align:center;background:#fff;border:1px dashed #c9d9d2;border-radius:10px;color:var(--ag-muted)}
.site-footer{background:#123d30!important;color:#e8f2ee!important;text-align:center;padding:22px 15px;margin-top:30px;line-height:1.8}
.site-footer a{color:#fff!important;font-weight:800}
@media(max-width:900px){
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .member-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-portal{grid-template-columns:1fr}
 .admin-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-side-brand{grid-column:1/-1}
 .admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .site-header{padding:12px 8px!important}.site-header .header-inner{gap:9px}.site-header .logo{width:66px;height:66px}.header-brand h1{font-size:21px}.header-brand p{font-size:11px}.header-brand h3{font-size:11px}
 .main-nav{padding:8px!important}.main-nav .mobile-menu-toggle{display:inline-flex!important}
 .main-nav a,.main-nav button:not(.mobile-menu-toggle){display:none!important;flex:1 1 calc(50% - 5px)}
 .main-nav.mobile-open a,.main-nav.mobile-open button:not(.mobile-menu-toggle){display:inline-flex!important;align-items:center;justify-content:center}
 body.home-view .home-page{padding-top:14px!important}
 .welcome-panel{padding:22px 16px;flex-direction:column;text-align:center}.welcome-logo img{width:85px;height:85px}.welcome-panel h2{font-size:24px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-card{min-height:92px!important;padding:11px!important}.service-card span{font-size:24px}.service-card b{font-size:13px}
 .home-about-inner{grid-template-columns:1fr;text-align:center}.home-about-inner img{margin:auto}
 .about-heading{flex-direction:column;text-align:center}.notice-card{flex-direction:column}.notice-card img{width:100%;height:160px}
 .member-app-head{padding:14px}.member-dashboard-grid{gap:9px}.member-dashboard-grid button{min-height:105px;padding:10px}.member-dashboard-grid button b{font-size:13px}
 .admin-sidebar{grid-template-columns:1fr 1fr}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview-grid{grid-template-columns:1fr}.admin-topbar{align-items:flex-start;flex-direction:column}
 .admin-portal-main{padding:12px}.content-page{padding:16px;margin:12px 0}.page-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:380px){
 .service-card b{font-size:12px}.header-brand h1{font-size:18px}.header-brand h3{font-size:10px}.header-brand p{font-size:10px}
}


/* Member password change */
.password-change-card{max-width:680px;margin:0 auto}.password-change-form{display:grid;gap:14px;margin-top:16px}.password-change-form label{display:grid;gap:7px;font-weight:600}.password-change-form input{width:100%;box-sizing:border-box}.password-change-form button{justify-self:start}.password-change-form .hint{font-weight:400}
.login-loading{padding:10px 12px;margin-top:10px;border-radius:8px;background:#fff8d8;color:#705900}.error{padding:10px 12px;margin-top:10px;border-radius:8px;background:#ffe9e9;color:#9b1c1c}.success{padding:10px 12px;margin-top:10px;border-radius:8px}

/* Prabarana T-shirt entry */
.tshirt-size-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto;gap:12px;align-items:end;padding:12px;margin:10px 0;background:#fff8e5;border:1px solid #ead9ad;border-radius:10px}
@media(max-width:600px){.tshirt-size-row{grid-template-columns:1fr 1fr}.tshirt-size-row button{grid-column:1/-1}}

/* Kathina Chibar Dana calendar */
.kathina-service{background:linear-gradient(135deg,#eef3e7,#dce7c9)!important;border:1px solid #8a9b68!important;color:#26351e!important}.kathina-page{max-width:1050px;margin:auto}.kathina-hero{display:flex;align-items:center;gap:18px;padding:24px;border-radius:16px;background:linear-gradient(135deg,#687d50,#8b9b68);color:white;margin-bottom:18px}.kathina-symbol{font-size:52px;background:#fff3;border-radius:50%;padding:12px}.kathina-kicker{margin:0;font-weight:700;letter-spacing:.04em}.kathina-hero h2{margin:4px 0;font-size:clamp(24px,4vw,36px);color:#fff}.kathina-hero p{margin:5px 0}.kathina-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:16px;background:#f2f5ec;border:1px solid #d5dfc7;border-radius:12px;margin-bottom:14px}.kathina-filters button{align-self:end;min-height:43px}.secondary-btn{background:#e8e4d8!important;color:#302b1d!important}.kathina-summary{font-weight:800;color:#40532f;padding:10px 2px}.kathina-results{display:grid;gap:10px}.kathina-event{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid #d7dfca;border-left:5px solid #80945f;border-radius:12px;background:#fff;box-shadow:0 3px 12px #24310c0b}.kathina-event-number{min-width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#edf2e4;color:#40532f;font-weight:800}.kathina-event-info{flex:1}.kathina-event h3{margin:0 0 7px;color:#34462a;font-size:19px}.kathina-event p{margin:5px 0}.kathina-date{font-weight:800;color:#687d50}.kathina-event-image{width:100px;height:100px;object-fit:cover;border-radius:8px}.empty-kathina{text-align:center;padding:28px}.printing-chibar .site-header,.printing-chibar .main-nav,.printing-chibar .site-footer,.printing-chibar body>*{ }@media(max-width:600px){.kathina-hero{padding:16px;gap:10px}.kathina-symbol{font-size:34px;padding:8px}.kathina-event{padding:12px;gap:9px}.kathina-event-image{width:70px;height:70px}.kathina-event h3{font-size:16px}}@media print{body.printing-chibar *{visibility:hidden!important}body.printing-chibar #chibarCalendar,body.printing-chibar #chibarCalendar *{visibility:visible!important}body.printing-chibar #chibarCalendar{display:block!important;position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none}body.printing-chibar .kathina-filters{display:none!important}body.printing-chibar .kathina-hero{background:#fff!important;color:#111!important;border-bottom:2px solid #777}body.printing-chibar .kathina-hero h2{color:#111!important}}

/* ===== Chibar admin layout ===== */
#chibarAdmin .content-page{max-width:980px}
#chibarAdmin .card{margin:0 0 14px!important;padding:16px 18px;background:#fff;border:1px solid #e6dcc3;border-left:1px solid #e6dcc3;border-radius:14px;box-shadow:none}
#chibarAdmin .card h3,#chibarAdmin .phead{font-size:18px;margin:0 0 6px;color:#123f33}
#chibarAdmin .phead{margin:2px 2px 12px}
#chibarAdmin .card h4{margin:16px 0 8px!important;font-size:15px;color:#1c5a49;padding-top:12px;border-top:1px dashed #e6dcc3}
#chibarAdmin .card .muted{font-size:13px;margin:0 0 10px}
#chibarAdmin input,#chibarAdmin select,#chibarAdmin textarea{border:1px solid #d8ccae;border-radius:10px;background:#fffdf8;font-size:15px}
#chibarAdmin label{font-size:13px;font-weight:600;color:#3b4a43}
#chibarAdmin .grid{gap:12px 14px}
#chibarAdmin button:not(.ctab):not(.danger):not(.secondary-btn){background:#1f8a5e;color:#fff;box-shadow:none;border-radius:10px;font-weight:600}
#chibarAdmin .secondary-btn{background:#fff;color:#1c5a49;border:1px solid #cdbf9f;padding:10px 14px;border-radius:10px;font-weight:600}
#chibarAdmin .danger{border-radius:10px;box-shadow:none;font-weight:600}
#chibarAdmin .card button,#chibarAdmin form button{margin:4px 6px 4px 0}
#chibarAdmin .finance-row{background:#fff;border:1px solid #e9dfc6;border-radius:12px;padding:12px 14px;margin:8px 0;line-height:1.75;font-size:14px}
#chibarAdmin .finance-row button{padding:7px 12px;font-size:13px}
#chibarAdmin .tablewrap{border:1px solid #e6dcc3;border-radius:12px;background:#fff}
#chibarAdmin th{background:#123f33;color:#fff;font-size:13px;border-color:#123f33}
#chibarAdmin td{border-color:#eee4cd;font-size:14px;padding:8px 10px}
#chibarAdmin td button{padding:6px 10px;font-size:12px}
.ctabs{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:8px;overflow-x:auto;padding:10px 2px 12px;margin:0 0 6px;position:sticky;top:0;z-index:20;background:var(--paper,#fffdf7);scrollbar-width:none}
.ctabs::-webkit-scrollbar{display:none}
#chibarAdmin .ctab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:999px;border:1px solid #d8ccae;background:#fff;color:#1c5a49;font-size:14px;font-weight:600;box-shadow:none;margin:0;white-space:nowrap}
#chibarAdmin .ctab.on{background:#1f8a5e;border-color:#1f8a5e;color:#fff}
#chibarAdmin .cbadge{background:#c8631b;color:#fff;border-radius:999px;font-size:12px;padding:1px 8px;font-weight:700}
.cstats{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 2px}
.cstats span{background:#f4efe2;border:1px solid #e6dcc3;border-radius:10px;padding:7px 13px;font-size:13px;color:#3b4a43}
.cstats b{font-size:17px;color:#123f33;margin-right:4px}
@media(max-width:600px){#chibarAdmin .card{padding:14px}#chibarAdmin .page-head{flex-wrap:wrap}}
#chibarAdmin input[type=checkbox]{width:20px;height:20px;padding:0;display:inline-block;vertical-align:middle;margin:0 8px 0 0}
#chibarAdmin label:has(>input[type=checkbox]){flex-direction:row;align-items:center}
