/* DKSP — Dacope Khulna Shikkha Paribar | Theme: Forest Canopy | 2026 */
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=Inter:wght@400;500;600&display=swap');
:root{
  --color-dark:#2d4a2b;--color-primary:#3d6b3a;--color-primary-light:#4a7c59;
  --color-sage:#7d8471;--color-olive:#a4ac86;--color-bg:#faf9f6;--color-surface:#f3f1eb;
  --color-white:#fff;--color-text:#1c2b1a;--color-text-muted:#6b7560;
  --color-border:#d0d9c2;--color-border-light:#e4ead8;
  --color-accent:#c8773a;--color-success:#2e7d32;--color-warning:#b97a1a;
  --color-danger:#c62828;--color-info:#1565c0;
  --font-heading:'Lora',Georgia,serif;--font-body:'Inter','Segoe UI',sans-serif;
  --container-width:1160px;--section-padding:72px 0;
  --radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;
  --shadow-sm:0 1px 4px rgba(30,50,25,.06);--shadow-md:0 4px 16px rgba(30,50,25,.09);--shadow-lg:0 12px 40px rgba(30,50,25,.13);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:16px;color:var(--color-text);background:var(--color-bg);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.25;color:var(--color-dark);font-weight:700}
.page-hero h1,.page-hero h2,.page-hero p,.page-hero span{color:#fff!important}
a{text-decoration:none;color:inherit;transition:all .25s ease}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--container-width);margin:0 auto;padding:0 24px}
.section{padding:var(--section-padding)}.section--surface{background:var(--color-surface)}.section--dark{background:var(--color-dark);color:#fff}
/* NAVBAR */
.navbar{position:sticky;top:0;z-index:200;background:rgba(250,249,246,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border-light)}
.navbar__inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.navbar__brand{display:flex;align-items:center;gap:12px}
.navbar__logo-mark{width:42px;height:42px;background:var(--color-dark);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:18px;font-weight:700;color:#fff;flex-shrink:0}
.navbar__brand-name{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--color-dark);display:block}
.navbar__brand-sub{font-size:11px;color:var(--color-text-muted);display:block}
.navbar__links{display:flex;align-items:center;gap:2px}
.navbar__links a{font-size:14px;font-weight:500;color:var(--color-text-muted);padding:7px 14px;border-radius:var(--radius-sm)}
.navbar__links a:hover,.navbar__links a.active{color:var(--color-dark);background:var(--color-border-light)}
.navbar__actions{display:flex;align-items:center;gap:8px}
/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--color-dark);color:#fff;padding:10px 22px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;border:none;cursor:pointer;transition:background .2s,transform .15s;line-height:1}
.btn-primary:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px)}
.btn-primary.btn-lg{padding:14px 32px;font-size:15px;border-radius:var(--radius-md)}
.btn-primary.btn-sm{padding:7px 14px;font-size:13px}
.btn-primary.btn-full{width:100%;justify-content:center}
.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--color-dark);padding:9px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;border:1.5px solid var(--color-dark);cursor:pointer;transition:all .2s;line-height:1}
.btn-outline:hover{background:var(--color-dark);color:#fff}
.btn-ghost{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--color-text-muted);padding:9px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s}
.btn-ghost:hover{color:var(--color-dark);background:var(--color-border-light)}
.btn-danger{background:var(--color-danger);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;border:none;cursor:pointer}
.btn-danger:hover{background:#b71c1c;color:#fff}
.btn-outline-dark{display:inline-flex;align-items:center;background:transparent;color:var(--color-dark);padding:9px 18px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;border:1px solid var(--color-border);cursor:pointer;transition:all .2s}
.btn-outline-dark:hover{border-color:var(--color-dark);background:var(--color-border-light)}
.btn-outline-white{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;padding:10px 22px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;border:1.5px solid rgba(255,255,255,.55);cursor:pointer;transition:all .2s}
.btn-outline-white:hover{background:rgba(255,255,255,.12);color:#fff}
/* HERO */
.hero{background:radial-gradient(ellipse at 15% 60%,rgba(164,172,134,.28) 0%,transparent 55%),radial-gradient(ellipse at 85% 20%,rgba(125,132,113,.18) 0%,transparent 50%),var(--color-bg);padding:80px 0 100px;overflow:hidden}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.hero__badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-border-light);color:var(--color-dark);font-size:11px;font-weight:600;padding:6px 14px;border-radius:999px;margin-bottom:20px;letter-spacing:.8px;text-transform:uppercase}
.hero__heading{font-size:46px;line-height:1.15;margin-bottom:20px}
.hero__heading span{color:var(--color-primary-light)}
.hero__sub{font-size:17px;color:var(--color-text-muted);margin-bottom:36px;line-height:1.8}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero__visual{background:linear-gradient(140deg,var(--color-border-light) 0%,#c8d4ae 100%);border-radius:var(--radius-xl);padding:40px 32px;position:relative;overflow:hidden}
.hero__visual::before{content:'';position:absolute;top:-30px;right:-30px;width:150px;height:150px;background:rgba(255,255,255,.18);border-radius:50%}
.hero-info-card{background:#fff;border-radius:var(--radius-md);padding:20px 22px;box-shadow:var(--shadow-md);margin-bottom:14px;position:relative}
.hero-info-card h3{font-size:15px;margin-bottom:4px;color:var(--color-dark)}
.hero-info-card p{font-size:13px;color:var(--color-text-muted)}
.hero-member-badge{background:var(--color-dark);color:#fff;border-radius:var(--radius-md);padding:18px 22px;display:flex;align-items:center;gap:14px}
.hero-member-badge__icon{width:42px;height:42px;background:rgba(255,255,255,.14);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.hero-member-badge p{font-size:12px;color:rgba(255,255,255,.7);margin:2px 0 0}
.hero-member-badge strong{font-size:15px;color:#fff;display:block}
.hero__stats-strip{display:flex;background:var(--color-dark);border-radius:var(--radius-md);overflow:hidden;margin-top:52px}
.hero__stat{flex:1;padding:26px 18px;text-align:center;border-right:1px solid rgba(255,255,255,.09);color:#fff}
.hero__stat:last-child{border-right:none}
.hero__stat-num{font-size:28px;font-weight:700;font-family:var(--font-heading);display:block}
.hero__stat-label{font-size:11px;color:rgba(255,255,255,.55);margin-top:4px;display:block}
/* SECTION HEADERS */
.section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-primary-light);margin-bottom:10px;display:block}
.section-title{font-size:32px;color:var(--color-dark);margin-bottom:14px}
.section-sub{font-size:15px;color:var(--color-text-muted);max-width:540px;line-height:1.8;margin-bottom:44px}
/* FEATURE CARDS */
.feature-card{background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:30px 26px;transition:box-shadow .2s,transform .2s}
.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.feature-card__icon{width:50px;height:50px;background:var(--color-border-light);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--color-dark);font-size:22px}
.feature-card h3{font-size:17px;margin-bottom:10px}
.feature-card p{font-size:13px;color:var(--color-text-muted);line-height:1.7}
.card-grid--2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card-grid--3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card-grid--4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
/* NOTICE CARD */
.notice-card{background:#fff;border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:24px 28px;margin-bottom:16px;display:flex;gap:20px;align-items:flex-start;transition:box-shadow .2s}
.notice-card:hover{box-shadow:var(--shadow-sm)}
.notice-card h3{font-size:16px;margin-bottom:6px}
.notice-card p{font-size:13px;color:var(--color-text-muted)}
.notice-card__date{font-size:11px;color:var(--color-sage);margin-top:8px;font-weight:500}
/* FORMS */
.form-page-wrapper{min-height:100vh;padding:60px 24px;background:var(--color-bg)}
.form-card{background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:44px 48px;box-shadow:var(--shadow-md);max-width:720px;margin:0 auto}
.form-card--narrow{max-width:480px}
.form-header{text-align:center;margin-bottom:36px}
.form-header__logo{width:56px;height:56px;background:var(--color-dark);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-family:var(--font-heading);font-weight:700;font-size:22px;color:#fff}
.form-header h2{font-size:24px;margin-bottom:8px}
.form-header p{color:var(--color-text-muted);font-size:14px}
.form-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-sage);margin:28px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--color-border-light)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:6px}
.form-group label .req{color:var(--color-danger);margin-left:2px}
.form-control{display:block;width:100%;padding:11px 14px;font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s;outline:none;appearance:none;-webkit-appearance:none}
.form-control:focus{border-color:var(--color-dark);box-shadow:0 0 0 3px rgba(45,74,43,.10);background:#fff}
.form-control::placeholder{color:#aab0a5}
select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%236b7560' d='M5 6L0 0h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px}
.form-hint{font-size:12px;color:var(--color-text-muted);margin-top:4px}
/* ALERTS */
.alert{padding:13px 16px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:20px;border-left:4px solid;line-height:1.5}
.alert-error{background:#fdf2f2;color:#9b2c2c;border-color:#e53e3e}
.alert-success{background:#f0faf0;color:#1a5c1a;border-color:#38a169}
.alert-warning{background:#fffaf0;color:#744210;border-color:#d69e2e}
.alert-info{background:#ebf4ff;color:#1a365d;border-color:#3182ce}
/* TABLES */
.table-wrapper{overflow-x:auto;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:#fff}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table thead tr{background:var(--color-surface);border-bottom:1.5px solid var(--color-border)}
.table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--color-text-muted);white-space:nowrap}
.table td{padding:13px 16px;border-bottom:1px solid var(--color-border-light);vertical-align:middle}
.table tbody tr:last-child td{border-bottom:none}
.table tbody tr:hover td{background:var(--color-bg)}
/* BADGES */
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600}
.badge-success{background:#e6f4ea;color:#1b5e20}
.badge-warning{background:#fff8e1;color:#6d4c00}
.badge-danger{background:#fde8e8;color:#b71c1c}
.badge-info{background:#e3f2fd;color:#0d47a1}
.badge-pending{background:var(--color-border-light);color:var(--color-text-muted)}
/* PROFILE */
.profile-header{background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-primary) 100%);color:#fff;border-radius:var(--radius-xl);padding:36px 42px;margin-bottom:24px;display:flex;align-items:center;gap:26px}
.profile-avatar{width:76px;height:76px;background:rgba(255,255,255,.14);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:28px;font-weight:700;flex-shrink:0;border:3px solid rgba(255,255,255,.28)}
.profile-header__info h2{color:#fff;font-size:22px;margin-bottom:5px}
.profile-header__info p{color:rgba(255,255,255,.72);font-size:13px}
.profile-header__actions{margin-left:auto}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.detail-item{padding:15px 20px;border-bottom:1px solid var(--color-border-light);border-right:1px solid var(--color-border-light)}
.detail-item:nth-child(even){border-right:none}
.detail-item__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-muted);margin-bottom:4px}
.detail-item__value{font-size:15px;color:var(--color-text);font-weight:500}
/* PAYMENT PAGE */
.pay-card{max-width:520px;margin:60px auto;background:#fff;border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.pay-card__header{background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-primary) 100%);padding:34px 40px;color:#fff;text-align:center}
.pay-card__header h2{color:#fff;font-size:20px;margin-bottom:8px}
.pay-card__header p{color:rgba(255,255,255,.68);font-size:13px}
.pay-card__amount{font-size:56px;font-weight:700;font-family:var(--font-heading);color:#fff;margin:16px 0 4px}
.pay-card__body{padding:34px 40px}
.pay-detail-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--color-border-light);font-size:14px}
.pay-detail-row:last-of-type{border-bottom:none}
.pay-detail-row span:first-child{color:var(--color-text-muted)}
.pay-detail-row span:last-child{font-weight:600}
/* ADMIN LAYOUT */
.admin-layout{display:flex;min-height:100vh;background:var(--color-bg)}
.admin-sidebar{width:248px;background:var(--color-dark);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto}
.admin-sidebar__brand{padding:22px 20px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:8px}
.admin-sidebar__logo{width:36px;height:36px;background:rgba(255,255,255,.12);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:15px;margin-bottom:10px}
.admin-sidebar__name{font-size:14px;font-weight:700;font-family:var(--font-heading);line-height:1.3}
.admin-sidebar__sub{font-size:10px;color:rgba(255,255,255,.4);margin-top:2px}
.admin-nav__label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.3);padding:14px 20px 5px}
.admin-nav a{display:flex;align-items:center;gap:10px;padding:11px 20px;color:rgba(255,255,255,.68);font-size:14px;font-weight:500;border-left:3px solid transparent;transition:all .2s}
.admin-nav a:hover,.admin-nav a.active{color:#fff;background:rgba(255,255,255,.07);border-left-color:var(--color-olive)}
.admin-nav a.danger{color:#fca5a5}
.admin-nav a.danger:hover{background:rgba(239,68,68,.12);border-left-color:#ef4444}
.admin-main{margin-left:248px;flex:1;min-height:100vh}
.admin-topbar{background:#fff;border-bottom:1px solid var(--color-border-light);padding:15px 34px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50}
.admin-topbar h1{font-size:19px;font-weight:700}
.admin-topbar__meta{font-size:13px;color:var(--color-text-muted)}
.admin-content{padding:32px}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}
.admin-stat{background:#fff;border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:20px 22px;border-left:4px solid var(--color-dark)}
.admin-stat--accent{border-left-color:var(--color-accent)}
.admin-stat--green{border-left-color:var(--color-success)}
.admin-stat--sage{border-left-color:var(--color-olive)}
.admin-stat__label{font-size:11px;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.admin-stat__value{font-size:28px;font-weight:700;font-family:var(--font-heading);color:var(--color-dark);margin:7px 0 3px}
.admin-stat__sub{font-size:12px;color:var(--color-text-muted)}
.admin-dash-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.admin-card{background:#fff;border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}
.admin-card__header{padding:18px 22px;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center}
.admin-card__header h3{font-size:15px}
.admin-card__header a{font-size:12px;color:var(--color-primary-light)}
/* SEARCH BAR */
.search-bar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.search-bar input,.search-bar select{flex:1;min-width:160px}
.table-footer{padding:12px 16px;background:var(--color-surface);border-top:1px solid var(--color-border-light);font-size:12px;color:var(--color-text-muted);display:flex;justify-content:space-between;align-items:center}
/* FOOTER */
.footer{background:var(--color-dark);color:rgba(255,255,255,.80);padding:52px 0 0;margin-top:80px}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;padding-bottom:44px}
.footer__brand-name{font-family:var(--font-heading);font-size:18px;font-weight:700;color:#fff;margin-bottom:12px}
.footer__brand-desc{font-size:13px;line-height:1.8;color:rgba(255,255,255,.50);margin-bottom:18px;max-width:280px}
.footer__heading{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--color-olive);margin-bottom:14px}
.footer__links{list-style:none}
.footer__links li{margin-bottom:8px}
.footer__links a{font-size:13px;color:rgba(255,255,255,.55)}
.footer__links a:hover{color:#fff}
.footer__contact-item{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:10px;line-height:1.6}
.footer__contact-item strong{color:rgba(255,255,255,.85)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.07);padding:18px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(255,255,255,.38)}
/* UTILITY */
.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:13px}
.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}
.mt-2{margin-top:12px}.mt-3{margin-top:20px}.mt-4{margin-top:32px}
.mb-2{margin-bottom:12px}.mb-3{margin-bottom:20px}.mb-4{margin-bottom:32px}
.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.items-center{align-items:center}.gap-2{gap:12px}
/* RESPONSIVE */
@media(max-width:960px){
  .hero__inner{grid-template-columns:1fr}.hero__visual{display:none}.hero__heading{font-size:36px}
  .admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-dash-grid{grid-template-columns:1fr}
  .card-grid--3,.card-grid--4{grid-template-columns:repeat(2,1fr)}.footer__grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:768px){
  .navbar__links{display:none}.form-row,.form-row-3{grid-template-columns:1fr}.form-card{padding:28px 22px}
  .admin-sidebar{display:none}.admin-main{margin-left:0}
  .card-grid--2,.card-grid--3{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .profile-header{flex-direction:column;text-align:center}.profile-header__actions{margin-left:0}
  .admin-stat-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero__heading{font-size:28px}.section-title{font-size:26px}
  /* form cards go full-width with comfortable padding */
  .form-card{padding:22px 16px;border-radius:var(--radius-md);margin:0 0 20px}
  .form-page-wrapper{padding:20px 12px}
  /* buttons stack */
  .btn-primary,.btn-outline,.btn-outline-dark{width:100%;justify-content:center;box-sizing:border-box}
  /* admin settings grid → single column */
  [style*="grid-template-columns:1fr 1fr"]{display:block!important}
  [style*="grid-column:span 2"]{width:100%!important}
  /* navbar */
  .navbar__inner{height:56px}
  .navbar__brand-sub{display:none}
  /* page hero */
  .page-hero{padding:36px 0 28px}
  /* admin tables → scroll */
  .table-responsive-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* fp-card (forgot password) */
  .fp-card__body{padding:20px 18px 24px}
  .fp-card__head{padding:24px 18px 20px}
  .fp-card__head h1{font-size:18px}
  /* OTP input */
  .otp-input{letter-spacing:8px;font-size:22px}
  /* profile */
  .form-card--narrow{padding:20px 14px}
}
