/* ============================================================
   EasyNet Ticket System — Modern UI
   Loaded AFTER style.css so it overrides the legacy theme.
   ============================================================ */

:root{
  --navy:#1a2332;
  --navy-admin:#0d1b2a;
  --accent:#2563eb;
  --accent-dark:#1d4ed8;
  --bg:#f1f5f9;
  --card:#ffffff;
  --text:#1e293b;
  --muted:#64748b;
  --border:#e2e8f0;
  --radius:12px;
  --shadow:0 1px 3px rgba(15,23,42,.08),0 8px 24px rgba(15,23,42,.06);
  --shadow-sm:0 1px 2px rgba(15,23,42,.08);
}

*{box-sizing:border-box;}

body{
  margin:0;padding:0;
  font-family:'Roboto Condensed','Noto Sans Bengali',Arial,sans-serif !important;
  background:var(--bg) !important;
  background-image:none !important;
  color:var(--text);
  font-size:13px !important;
  line-height:1.4 !important;
  -webkit-font-smoothing:antialiased;
}

a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-dark);}

/* Layout container ----------------------------------------- */
.container{
  max-width:100% !important;
  margin:0 auto !important;
  background:transparent !important;
  padding:0 12px !important;
}
.inner-block{
  display:flex !important;gap:16px;align-items:flex-start;
  padding:16px 0 !important;min-height:auto !important;text-align:left !important;
}
.service-left{flex:0 0 220px !important;width:220px !important;float:none !important;}
.service-right{flex:1 1 auto !important;width:auto !important;float:none !important;min-height:auto !important;line-height:1.6 !important;min-width:0;}
.inner-block .full_page{flex:1 1 auto;width:auto;min-width:0;}
@media (max-width:760px){
  .inner-block{flex-direction:column;}
  .service-left{flex-basis:auto !important;width:100% !important;}
}
.full_page{min-height:auto !important;padding:0 !important;text-align:left !important;}
.clear,.cleaner{clear:both;}

/* ============================================================
   NAVBAR
   ============================================================ */
.en-nav{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:nowrap;                       /* keep the whole bar on one line */
  background:linear-gradient(135deg,#1a2332,#16213e);
  padding:0 15px;height:56px;
  border-radius:0 0 var(--radius) var(--radius);
  box-shadow:0 4px 14px rgba(15,23,42,.18);
  margin-bottom:16px;
  font-family:'Roboto Condensed','Noto Sans Bengali',Arial,sans-serif;
}
.en-nav.is-admin{background:linear-gradient(135deg,#0d1b2a,#13294b);}

/* Language toggle */
.en-lang{display:inline-flex;gap:4px;margin-left:10px;padding:4px 4px;font-size:11px;white-space:nowrap;flex-shrink:0;}
.en-lang a{
  padding:4px 10px;border-radius:7px;font-size:12px;font-weight:600;
  color:#cbd5e1;border:1px solid rgba(255,255,255,.16);
  transition:background .15s ease,color .15s ease,transform .1s ease;
}
.en-lang a:hover{background:rgba(255,255,255,.12);color:#fff;transform:translateY(-1px);}
.en-lang a.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;}

/* Bengali font when lang-bn is active */
body.lang-bn{font-family:'Noto Sans Bengali','Roboto Condensed',Arial,sans-serif !important;}
body.lang-bn .en-lang a,body.lang-bn .en-brand .en-logo{font-family:'Roboto Condensed',sans-serif !important;}
.en-brand{display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:15px;letter-spacing:.3px;flex-shrink:0;white-space:nowrap;line-height:1.2;margin-right:10px;}
.en-brand .en-logo{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:8px;flex-shrink:0;
  background:linear-gradient(135deg,var(--accent),#06b6d4);
  font-size:13px;font-weight:800;color:#fff;
}
.en-brand small{font-weight:400;font-size:10px;color:#94a3b8;display:block;line-height:1;white-space:nowrap;}
.en-brand .en-logo-img{height:32px;width:auto;max-width:120px;border-radius:6px;display:block;object-fit:contain;}

.en-menu{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;overflow:visible;font-family:'Roboto Condensed','Noto Sans Bengali',Arial,sans-serif;}
.en-link{
  color:#cbd5e1;font-weight:500;font-size:12px;
  padding:6px 8px;border-radius:8px;white-space:nowrap;letter-spacing:.2px;
  transition:background .18s ease,color .18s ease;
  text-transform:none;
  font-family:'Roboto Condensed','Noto Sans Bengali',Arial,sans-serif;
}
.en-link.active,
.en-link:hover{background:rgba(255,255,255,.15);color:#fff;border-radius:5px;}
/* Navbar dropdowns (Tickets / Settings) */
.en-dropdown{position:relative;display:inline-block;}
.en-drop-toggle{cursor:pointer;}
.en-drop-menu{display:none;position:absolute;top:100%;left:0;margin-top:4px;min-width:170px;
  background:#1a2332;border:1px solid rgba(255,255,255,.14);border-radius:10px;
  box-shadow:0 10px 28px rgba(0,0,0,.35);padding:6px;z-index:200;}
.en-dropdown:hover .en-drop-menu{display:block;}
.en-drop-menu a{display:block;padding:8px 12px;color:#cbd5e1;text-decoration:none;border-radius:6px;font-size:13px;white-space:nowrap;}
.en-drop-menu a:hover{background:rgba(255,255,255,.12);color:#fff;}

.en-welcome{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.10);
  color:#e2e8f0;font-size:12px;font-weight:500;
  padding:4px 8px;border-radius:999px;margin-left:8px;
  white-space:nowrap;flex-shrink:0;max-width:160px;overflow:hidden;text-overflow:ellipsis;
}
/* Logout button (real class is en-logout-link; also carries .en-link) */
.en-logout-link{font-size:12px;padding:6px 8px;white-space:nowrap;flex-shrink:0;}
.en-welcome .en-avatar{
  width:24px;height:24px;border-radius:50%;
  background:var(--accent);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;text-transform:uppercase;
}
.en-welcome b{color:#fff;font-weight:600;}

@media (max-width:760px){
  .en-nav{flex-direction:column;height:auto;gap:10px;padding:12px;}
  .en-menu{justify-content:center;}
}

/* Kill the legacy navbar/sidebar look ---------------------- */
.company,.menus{background:none !important;background-image:none !important;height:auto !important;}
.menu{background:none !important;float:none !important;}

/* ============================================================
   CARDS
   ============================================================ */
.en-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow);
  padding:24px;margin-bottom:20px;
}
.en-card h2,.en-card h3{margin:0 0 16px;color:var(--text);border:none;}

.en-page-title{font-size:22px;font-weight:700;color:var(--text);margin:0 0 18px;}

/* ============================================================
   LOGIN
   ============================================================ */
.en-login-wrap{
  min-height:70vh;display:flex;align-items:center;justify-content:center;
  padding:50px 20px;border-radius:var(--radius);
  background:linear-gradient(135deg,#1a2332 0%,#1e3a8a 55%,#3b82f6 100%);
  box-shadow:inset 0 0 80px rgba(0,0,0,.15);
}
.en-login-card{box-shadow:0 20px 50px rgba(15,23,42,.35) !important;}
.en-login-card{
  width:100%;max-width:380px;background:var(--card);
  border:1px solid var(--border);border-radius:16px;
  box-shadow:var(--shadow);padding:36px 32px;text-align:center;
}
.en-login-card .en-logo-big{
  width:56px;height:56px;border-radius:14px;margin:0 auto 14px;
  background:linear-gradient(135deg,var(--accent),#06b6d4);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:24px;font-weight:800;
}
.en-login-card h1{font-size:20px;font-weight:700;margin:0 0 4px;color:var(--text);border:none;}
.en-login-card .en-sub{color:var(--muted);font-size:13px;margin-bottom:24px;}
.en-field{text-align:left;margin-bottom:16px;}
.en-field label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:6px;}
.en-input{
  width:100%;padding:11px 13px;font-size:14px;
  border:1px solid var(--border);border-radius:9px;
  background:#f8fafc;color:var(--text);transition:border .15s,box-shadow .15s;
  font-family:inherit;
}
.en-input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.15);}
.en-btn{
  display:inline-block;width:100%;padding:12px 16px;
  background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:14px;font-weight:600;
  border:none;border-radius:9px;cursor:pointer;
  box-shadow:0 4px 12px rgba(37,99,235,.30);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;font-family:inherit;
}
.en-btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,99,235,.40);}
.en-btn:active{transform:translateY(0);}
.en-error{color:#dc2626;font-size:13px;margin-bottom:12px;}

/* ============================================================
   MODERN TABLE + STATUS BADGES
   ============================================================ */
.datagrid{background:transparent !important;border:none !important;overflow:visible !important;}
.datagrid table{
  width:100%;border-collapse:separate !important;border-spacing:0;
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  font-size:13px;margin:0;
}
.datagrid table thead th{
  background:linear-gradient(135deg,#1a2332,#2d3f6b) !important;color:#fff !important;
  font-weight:600 !important;font-size:11.5px !important;text-transform:uppercase;
  letter-spacing:.3px;padding:10px 8px !important;text-align:left;border:none !important;
}
.datagrid table tbody td{
  padding:8px 10px !important;border:none !important;
  border-bottom:1px solid var(--border) !important;
  color:var(--text) !important;font-size:13px !important;vertical-align:middle;
}
/* Ticket report table — compact auto layout, no vertical wrapping */
.tkt-report{table-layout:fixed !important;border-collapse:collapse !important;width:100% !important;font-size:12px !important;}
.tkt-report thead th{padding:10px 12px !important;white-space:nowrap !important;font-size:11px !important;font-weight:600 !important;letter-spacing:.3px !important;line-height:1.2;vertical-align:middle;font-family:'Roboto Condensed','Noto Sans Bengali',Arial,sans-serif !important;}
.tkt-report tbody td{padding:10px 12px !important;height:44px !important;vertical-align:middle !important;white-space:nowrap !important;line-height:1.3 !important;font-size:12px !important;font-weight:400 !important;letter-spacing:.1px !important;overflow:hidden;text-overflow:ellipsis;font-family:'Roboto Condensed','Noto Sans Bengali',Arial,sans-serif !important;}
/* Bold names (Handovered To, etc.) */
.tkt-report td.col-handover strong,
.tkt-report td strong{font-weight:600 !important;font-size:12px !important;}

/* Horizontal scroll wrapper so wide tables stay usable at 100% zoom */
.table-scroll-wrapper{ overflow-x:auto; width:100%; -webkit-overflow-scrolling:touch; }
.table-scroll-wrapper::-webkit-scrollbar{ height:8px; }
.table-scroll-wrapper::-webkit-scrollbar-track{ background:#f1f5f9; border-radius:4px; }
.table-scroll-wrapper::-webkit-scrollbar-thumb{ background:#cbd5e1; border-radius:4px; }
.table-scroll-wrapper::-webkit-scrollbar-thumb:hover{ background:#94a3b8; }
/* Subject stays a real table cell (so fixed-layout widths hold); clamp the inner link/span to 2 lines.
   Member wraps the subject in <a>, admin in <span> — both get the same 2-line clamp. */
.tkt-report td.col-subject{white-space:normal !important;word-break:break-word;overflow:hidden;line-height:1.3;}
.tkt-report td.col-subject a,
.tkt-report td.col-subject span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:2.6em;}
.tkt-report td.col-issue{white-space:normal !important;word-break:break-word;overflow:visible;}
.tkt-report td.col-name{font-weight:600;max-width:100px !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;color:inherit !important;}
/* Handover cell stacks name + solved_by, so it must NOT be ellipsis-truncated */
.tkt-report td.col-handover{max-width:none !important;overflow:visible !important;white-space:normal !important;text-overflow:clip !important;}
/* Handover Time is its own column now */
.tkt-report th.c-htime,
.tkt-report td.col-htime{min-width:110px;font-size:12px;white-space:nowrap;}
/* Updated By column: truncate long names with an ellipsis */
.tkt-report td.col-updated-by,
.tkt-report td[class*="updated-by"]{max-width:90px !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
.tkt-report td.col-id{white-space:nowrap !important;overflow:visible;}
.tkt-report td.col-time{white-space:normal !important;overflow:visible !important;line-height:1.3;font-size:11px !important;}
/* Status column: never clip the label (e.g. "সমাধান হয়েছে") */
.tkt-report th.c-status,
.tkt-report td.col-status{min-width:110px !important;white-space:nowrap !important;overflow:visible !important;text-overflow:clip !important;}
.tkt-report td.col-action{overflow:visible;}
.tkt-report td.col-action .en-btn-sm{padding:3px 6px !important;font-size:10.5px !important;}
/* Action buttons stay visible & legible on coloured rows (beats the link-inherit rule + base styles) */
.tkt-report td.col-action{overflow:visible !important;}
.tkt-report td.col-action a.en-btn-edit{
  background:#FFFFFF !important;color:#1a2332 !important;border:1px solid #1a2332 !important;
  padding:4px 9px !important;border-radius:5px !important;font-size:11px !important;font-weight:600 !important;
  text-decoration:none !important;white-space:nowrap !important;text-align:center !important;
}
.tkt-report td.col-action a.en-btn-edit:hover{background:#1a2332 !important;color:#FFFFFF !important;}
.tkt-report td.col-action a.en-btn-reply{
  background:#2563eb !important;color:#FFFFFF !important;border:1px solid #2563eb !important;
  padding:4px 9px !important;border-radius:5px !important;font-size:11px !important;font-weight:600 !important;
  text-decoration:none !important;white-space:nowrap !important;text-align:center !important;
}
.tkt-report td.col-action a.en-btn-reply:hover{background:#1d4ed8 !important;color:#FFFFFF !important;}
.tkt-report td .badge{white-space:normal;line-height:1.3;}
/* Coloured rows: links inherit the row's text colour (instead of accent blue) for readability */
.tkt-report tbody td a{ color:inherit !important; text-decoration:none; }
.tkt-report tbody td a:hover{ text-decoration:underline; opacity:0.85; }

/* ============================================================
   MOBILE RESPONSIVENESS  (hamburger + collapsible nav + table)
   ============================================================ */
.hamburger{display:none;flex-direction:column;justify-content:space-between;width:30px;height:22px;background:none;border:none;cursor:pointer;padding:0;margin-left:auto;z-index:1001;}
.hamburger span{display:block;width:100%;height:3px;background:#fff;border-radius:3px;transition:all .3s ease;}
.hamburger.active span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

@media (max-width:760px){
  .hamburger{display:flex;}
  /* keep brand + hamburger on one row, let the menu wrap below */
  .en-nav{flex-direction:row !important;flex-wrap:wrap;align-items:center;height:auto;padding:10px 15px;}
  .en-brand{flex:1 1 auto;}
  /* collapse menu behind the hamburger */
  .en-menu{display:none !important;flex-direction:column !important;align-items:stretch !important;width:100%;background:#1a2332;padding:6px 0;margin-top:8px;border-top:1px solid rgba(255,255,255,.12);border-radius:8px;gap:0;}
  .en-menu.menu-open{display:flex !important;}
  .en-menu .en-link{display:block;width:100%;padding:12px 18px !important;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px !important;border-radius:0;}
  /* dropdowns: tap to open, rendered inline (not absolute) */
  .en-dropdown{display:block;width:100%;position:static;}
  .en-dropdown .en-drop-menu{display:none;position:static !important;background:rgba(0,0,0,.25);box-shadow:none;border:none;border-radius:0;min-width:100%;margin:0;padding:0;}
  .en-dropdown.dropdown-open .en-drop-menu{display:block !important;}
  .en-dropdown .en-drop-menu a{padding:10px 30px !important;border-bottom:1px solid rgba(255,255,255,.05);}
  /* lang toggle + welcome badge inside the stacked menu */
  .en-lang{justify-content:flex-start;padding:10px 18px;}
  .en-welcome{padding:10px 18px;justify-content:flex-start;}
}

/* General mobile polish */
@media (max-width:760px){
  .service-right{padding:10px !important;}
  .inner-block{padding:0 !important;}
  .en-edit-form,.en-ticket-form{padding:15px !important;margin:10px 0 !important;}
  .en-stat{padding:14px !important;}
  .en-stat .en-stat-num{font-size:28px !important;}
  .flash-success,.flash-error{margin:6px 10px !important;padding:10px 15px !important;font-size:13px !important;}
  .en-page-title{font-size:18px !important;}
  .en-btn.en-btn-primary{width:100%;text-align:center;}
}

/* Ticket report table on small screens */
@media (max-width:640px){
  /* Hide low-priority columns */
  .tkt-m-hide{display:none !important;}
  .tkt-report th.c-htime,
  .tkt-report td.col-htime{display:none !important;}
  /* Force auto layout on mobile so the Subject column isn't squeezed to ~0 width (no vertical letter-wrap) */
  .tkt-report{table-layout:auto !important;width:100% !important;}
  /* Compact all cells */
  .tkt-report th,.tkt-report td{padding:5px 4px !important;font-size:11px !important;white-space:nowrap !important;vertical-align:middle !important;}
  /* ID column - very narrow */
  .tkt-report th:first-child,.tkt-report td:first-child{min-width:38px !important;max-width:45px !important;}
  /* Issue column */
  .tkt-report td.col-issue,.tkt-report th.col-issue{min-width:70px !important;max-width:90px !important;white-space:normal !important;word-break:break-word !important;}
  /* Subject column - allow wrap, give it space */
  .tkt-report td.col-subject,.tkt-report th.col-subject{min-width:100px !important;max-width:150px !important;white-space:normal !important;word-break:break-word !important;line-height:1.3 !important;}
  /* Created by column */
  .tkt-report td.col-name,.tkt-report th.col-name{min-width:55px !important;max-width:70px !important;white-space:normal !important;word-break:break-word !important;}
  /* Status column */
  .tkt-report td:nth-child(6),.tkt-report th:nth-child(6){min-width:55px !important;font-size:10px !important;white-space:normal !important;}
  /* Created time column */
  .tkt-report td.col-time,.tkt-report th.col-time{min-width:70px !important;font-size:10px !important;}
  /* Edit/Reply buttons (real classes are en-btn-sm en-btn-edit / en-btn-reply) */
  .tkt-report td.col-action{min-width:40px !important;padding:3px !important;}
  .tkt-report td.col-action .en-btn-sm,.tkt-report .btn-edit,.tkt-report .btn-reply{padding:3px 6px !important;font-size:10px !important;display:block !important;margin:2px 0 !important;text-align:center !important;}
  /* Filter grid single column */
  .member-filter-grid{grid-template-columns:1fr !important;}
  /* Scroll hint */
  .table-scroll-wrapper::before{content:'\2190 scroll to see more \2192';display:block;text-align:center;font-size:11px;color:#888;padding:4px;background:#f8f9fa;border-bottom:1px solid #eee;}
}
@media (max-width:480px){
  .tkt-report th,.tkt-report td{font-size:10px !important;padding:4px 3px !important;}
}
/* per-column widths (table-layout:fixed) — compact so all columns fit at 100% zoom (~1366px laptop)
   NOTE: class names match the thead in ticket_report.php exactly:
   created-by=c-cby, created-time=c-ctime, handovered-to=c-hto (NOT c-name/c-time/c-handover) */
.tkt-report .c-id{width:60px;min-width:60px;}
.tkt-report .c-issue{width:100px;min-width:100px;}
.tkt-report .c-subject{width:auto;min-width:180px;}
.tkt-report .c-cby{width:90px;min-width:90px;}
.tkt-report .c-ctime{width:120px;min-width:120px;}
.tkt-report .c-status{width:110px;min-width:110px;}
.tkt-report .c-hto{width:90px;min-width:80px;}
.tkt-report .c-htime{width:110px;min-width:100px;}
.tkt-report .c-utime{width:120px;min-width:120px;}
.tkt-report .c-uby{width:100px;min-width:100px;}
.tkt-report .c-edit{width:55px;min-width:50px;}
.tkt-report .c-reply{width:70px;min-width:70px;}
.datagrid table tbody tr{transition:background .15s ease;}
.datagrid table tbody tr:hover td{background:#f8fafc !important;}
.datagrid table tbody tr:nth-child(even) td{background:#fcfdfe;}
.datagrid table tbody tr:hover:nth-child(even) td{background:#f8fafc !important;}
/* Legacy-style coloured ticket rows: inline row bgcolor must win over zebra/hover */
.tkt-report tr td{ border:1px solid rgba(0,0,0,0.08) !important; }
.datagrid table.tkt-report tbody tr:hover td,
.datagrid table.tkt-report tbody tr:nth-child(even) td{ background:inherit !important; }

/* generic (non-datagrid) tables */
table[border]{
  width:100%;border-collapse:separate !important;border-spacing:0;
  background:var(--card);border:1px solid var(--border) !important;
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
}
table[border] td,table[border] th{border:none !important;border-bottom:1px solid var(--border) !important;padding:8px 10px;}
table[border] tr:first-child td{background:linear-gradient(135deg,#1a2332,#2d3f6b);color:#fff;font-weight:600;font-size:12px;text-transform:uppercase;}

/* Status badge / pill */
.badge{
  display:inline-block;padding:3px 8px;border-radius:999px;
  font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap !important;
}
.badge-open{background:#dc2626;color:#fff;}
.badge-progress{background:#2563eb;color:#fff;}
.badge-working{background:#ea580c;color:#fff;}
.badge-pending{background:#d97706;color:#fff;}
.badge-solved{background:#16a34a;color:#fff;}
.badge-other{background:#64748b;color:#fff;}

/* Action buttons in tables */
.en-btn-sm{
  display:inline-block !important;padding:4px 8px !important;font-size:12px !important;font-weight:600;
  border-radius:6px;border:1px solid transparent;cursor:pointer;
  white-space:nowrap !important;text-align:center;line-height:1.4;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,background .15s ease;
}
.en-btn-edit{background:#eff6ff;color:var(--accent-dark);border-color:#bfdbfe;min-width:50px;}
.en-btn-edit:hover{background:#dbeafe;color:var(--accent-dark);transform:translateY(-2px);box-shadow:0 6px 14px rgba(37,99,235,.18);}
.en-btn-reply{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 3px 8px rgba(37,99,235,.28);min-width:55px;}
.en-btn-reply:hover{filter:brightness(1.07);color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(37,99,235,.38);}

/* Pagination (tfoot) */
.datagrid table tfoot td{background:#f8fafc;border-top:1px solid var(--border) !important;}
.datagrid table tfoot a{
  background:#fff !important;color:var(--accent) !important;border:1px solid var(--border) !important;
  border-radius:7px !important;padding:5px 11px !important;
}
.datagrid table tfoot a:hover,.datagrid table tfoot ul.active{
  background:var(--accent) !important;color:#fff !important;border-color:var(--accent) !important;
}

/* ============================================================
   FORMS (filter / ticket open / password)
   ============================================================ */
.en-filter{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:18px 20px;margin-bottom:20px;
  display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;
}
.en-filter label{font-size:12px;font-weight:600;color:var(--muted);display:block;margin-bottom:4px;}

/* Override the ugly legacy inputs everywhere */
select,
.form-class input,.form-class textarea,
input[type=text],input[type=name],input[type=password],input[type=number],input[type=input],textarea{
  background:#f8fafc !important;border:1px solid var(--border) !important;
  color:var(--text) !important;font-size:14px !important;
  padding:10px 12px !important;border-radius:9px !important;
  font-family:inherit !important;transition:border .15s,box-shadow .15s;
}
select:focus,input:focus,textarea:focus{
  outline:none !important;border-color:var(--accent) !important;background:#fff !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.12) !important;
}
.form-class input[type=submit],input[type=submit],.submit input{
  background:linear-gradient(135deg,#3b82f6,#2563eb) !important;color:#fff !important;border:none !important;
  font-weight:600 !important;padding:11px 22px !important;border-radius:9px !important;
  cursor:pointer;width:auto !important;box-shadow:0 4px 12px rgba(37,99,235,.28);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.form-class input[type=submit]:hover,input[type=submit]:hover{filter:brightness(1.06) !important;transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,99,235,.4);}

.form-class{
  background:var(--card) !important;border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:24px !important;
  color:var(--text) !important;font-family:inherit !important;
}
.form-class label{font-weight:600;color:#334155;display:inline-block;margin:8px 0 4px;}

/* New-ticket form — wide card, full-width fields, no legacy red borders */
.en-ticket-form{width:100%;max-width:720px;border:1px solid var(--border) !important;margin:0 !important;padding:16px 20px !important;}
.en-ticket-form label{display:block;margin:10px 0 4px;font-weight:600;color:#334155;}
.en-ticket-form .ui-widget{width:100%;display:block;margin-bottom:10px;}
.en-ticket-form input,.en-ticket-form select,.en-ticket-form textarea{
  width:100% !important;border:1px solid var(--border) !important;box-sizing:border-box;padding:8px 12px !important;margin-bottom:10px;
}
.en-ticket-form textarea{min-height:80px !important;resize:vertical;border:1px solid #ddd !important;}
.en-ticket-form .en-page-title{margin:0 0 12px;}
.en-ticket-form br{display:none;}
.en-ticket-form input[type=submit]{width:auto !important;margin-top:18px;}
/* ISSUE 2: keep the new-ticket card at the top of the content area */
.en-ticket-form{margin:0 !important;}

/* ============================================================
   EDIT TICKET FORM
   ============================================================ */
.en-edit-form{ background:white; border-radius:12px; padding:32px; max-width:720px; box-shadow:0 2px 12px rgba(0,0,0,0.08); margin:16px 0; }
.en-edit-form input, .en-edit-form select, .en-edit-form textarea{ width:100%; padding:10px 14px; border:1px solid #ddd; border-radius:8px; font-size:14px; font-family:inherit; margin-bottom:16px; box-sizing:border-box; }
.en-edit-form textarea{ min-height:200px; resize:vertical; }
.en-edit-form label{ display:block; font-weight:600; margin-bottom:6px; color:#1a2332; font-size:13px; }
.en-edit-form .form-title{ font-size:18px; font-weight:700; color:#1a2332; margin-bottom:24px; padding-bottom:12px; border-bottom:2px solid #e5e7eb; }
.en-edit-form .en-edit-static{ margin-bottom:16px; color:#334155; font-size:14px; font-weight:600; }

/* Library input page — full width form, two-column inputs, auto-width button */
.library-form{ max-width:100%; }
.library-form .library-inputs{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.library-form .library-inputs input{ margin-bottom:8px; }
.library-form .en-btn{ width:auto; min-width:120px; }
.library-table{ width:100%; margin-top:20px; }
@media (max-width:760px){ .library-form .library-inputs{ grid-template-columns:1fr; } }

/* ============================================================
   CHAT / TIMELINE (ticket_reply)
   ============================================================ */
.chat-container{max-width:900px;margin:0 auto;padding:16px;}
.chat-header-card{
  background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;border-radius:12px;
  padding:16px 20px;margin-bottom:20px;box-shadow:0 4px 14px rgba(37,99,235,.25);
}
.chat-header-card .chat-subject{font-size:20px;font-weight:700;margin-bottom:8px;word-break:break-word;}
.chat-header-card .chat-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;}
.chat-header-card .chat-header-date{color:rgba(255,255,255,.85);}
.chat-header-card a.chat-img-link{color:#fff;text-decoration:underline;}
.chat-header-admin{margin-top:10px;font-size:13px;color:rgba(255,255,255,.92);}
.ticket-header-label { font-size: 12px; color: rgba(255,255,255,0.75); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; }
.ticket-header-value { font-size: 15px; font-weight: 700; color: white; }
.ticket-header-empty { font-style: italic; color: rgba(255,255,255,0.5); }
.ticket-meta-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-top: 12px; }
@media (max-width:560px){ .ticket-meta-grid { grid-template-columns: 1fr 1fr; } }
/* Handover history (timeline inside the blue header card) */
.handover-history {
    margin-top: 14px;
    border-top: 1px solid rgba(255,255,255,0.15);
    padding-top: 12px;
}
.hh-title {
    font-size: 10px;
    font-weight: 600;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}
.hh-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.hh-row {
    display: flex;
    align-items: center;
    gap: 0;
    position: relative;
    padding: 0 0 10px 28px;
    border-bottom: none;
}
.hh-row:last-child { padding-bottom: 0; }
.hh-dot {
    position: absolute;
    left: 0;
    top: 3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    border: 2px solid rgba(255,255,255,0.3);
    flex-shrink: 0;
}
.hh-row:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 13px;
    bottom: 0;
    width: 1px;
    background: rgba(255,255,255,0.2);
}
.hh-content {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}
.hh-num {
    font-size: 10px;
    color: rgba(255,255,255,0.4);
    font-weight: 600;
    min-width: 16px;
}
.hh-by {
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,0.75);
    background: rgba(255,255,255,0.1);
    padding: 2px 8px;
    border-radius: 4px;
}
.hh-arrow {
    color: rgba(255,255,255,0.35);
    font-size: 13px;
}
.hh-to {
    font-size: 12px;
    font-weight: 600;
    color: #ffffff;
    background: rgba(255,255,255,0.18);
    padding: 2px 8px;
    border-radius: 4px;
}
.hh-time {
    font-size: 11px;
    color: rgba(255,255,255,0.85);
    white-space: nowrap;
}
.chat-bubble{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start;}
.chat-bubble.chat-alt{padding-left:40px;}
.chat-avatar{
  width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;color:#fff;font-size:16px;flex-shrink:0;
}
.chat-content{
  flex:1;background:#fff;border-radius:12px;padding:12px 16px;
  box-shadow:0 1px 4px rgba(0,0,0,.08);border:1px solid var(--border);
}
.chat-name{font-weight:700;font-size:14px;color:#1a2332;}
.chat-time{font-size:11px;color:#888;margin-left:8px;}
.chat-tag{font-size:11px;font-weight:600;margin-left:8px;padding:1px 8px;border-radius:999px;}
.chat-tag-admin{background:#fef3c7;color:#92400e;}
.chat-tag-closed{background:#dcfce7;color:#15803d;}
.chat-message{margin-top:6px;font-size:13px;color:#333;line-height:1.5;word-break:break-word;}

/* ISSUE 4: reply form */
.chat-reply-card{
  background:#fff;border:1px solid var(--border);border-radius:12px;
  box-shadow:0 2px 10px rgba(15,23,42,.08);padding:20px;max-width:900px;margin:8px auto 0;
}
.chat-reply-head{font-size:16px;font-weight:700;color:#1a2332;margin-bottom:14px;}
.chat-status-label,.chat-msg-label{display:block;font-size:13px;font-weight:600;color:#334155;margin:6px 0;}
.status-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.status-pill{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  font-size:12px;font-weight:600;color:#fff;cursor:pointer;border:2px solid transparent;
  opacity:.85;transition:opacity .15s,transform .1s,box-shadow .15s;
}
.status-pill input{margin:0;cursor:pointer;}
.status-pill:hover{opacity:1;transform:translateY(-1px);}
.status-pill:has(input:checked){opacity:1;border-color:#1a2332;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.pill-open{background:#dc2626;}
.pill-progress{background:#2563eb;}
.pill-working{background:#ea580c;}
.pill-pending{background:#d97706;}
.pill-solved{background:#16a34a;}
.pill-other{background:#64748b;}
.chat-only-admin{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#334155;margin-bottom:14px;}
.chat-textarea{
  width:100%;min-height:120px;border:1px solid #ddd !important;border-radius:9px;
  padding:12px;font-family:inherit;font-size:14px;resize:vertical;box-sizing:border-box;
}
.chat-send{width:100%;margin-top:14px;}

/* ============================================================
   CHAT-STYLE REPLY / DETAIL
   ============================================================ */
.reply_full_block{
  background:transparent !important;display:flex;gap:14px;margin:12px 0 !important;align-items:flex-start;
}
.reply_block{
  background:#eef2f7 !important;color:var(--text) !important;
  font-family:inherit !important;border-radius:var(--radius) !important;
  padding:14px 16px !important;box-shadow:var(--shadow-sm);
}
.small_block{
  background:var(--card) !important;color:var(--text) !important;
  font-family:inherit !important;font-size:14px !important;
  border:1px solid var(--border);border-radius:var(--radius) !important;
  padding:14px 16px !important;box-shadow:var(--shadow-sm);
  width:auto !important;float:none !important;flex:1;
}
.reply_full_block .reply_block{
  float:none !important;width:170px !important;flex:0 0 170px;
  border-right:none !important;background:#e0e7ff !important;color:#3730a3 !important;font-size:13px !important;
}
/* original ticket highlighted */
.en-ticket-original{
  background:var(--card);border:1px solid var(--border);border-left:4px solid var(--accent);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:18px;
}
.en-ticket-original .en-ticket-meta{color:var(--muted);font-size:13px;}

/* ============================================================
   NOTICE CARDS
   ============================================================ */
.en-notice-list{display:flex;flex-direction:column;gap:12px;}
.en-notice{
  display:flex;align-items:center;gap:16px;
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:16px 20px;transition:box-shadow .18s,transform .05s;
}
.en-notice:hover{box-shadow:var(--shadow);}
.en-notice .en-date{
  flex:0 0 auto;background:#eff6ff;color:var(--accent-dark);
  border-radius:10px;padding:8px 14px;font-size:12px;font-weight:600;text-align:center;white-space:nowrap;
}
.en-notice .en-notice-title{font-size:15px;font-weight:600;color:var(--text);}

/* ============================================================
   ADMIN DASHBOARD CARDS
   ============================================================ */
.en-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:24px;}
/* Dashboard stat grid: 2x2 + full-width bottom card */
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:100%;margin-bottom:24px;}
.stat-grid .stat-card-full{grid-column:1 / -1;}
@media (max-width:560px){.stat-grid{grid-template-columns:1fr;}}

/* Member admin dashboard: 3x2 stat grid */
.dash-grid-3{grid-template-columns:1fr 1fr 1fr !important;}
@media (max-width:860px){.dash-grid-3{grid-template-columns:1fr 1fr !important;}}
@media (max-width:520px){.dash-grid-3{grid-template-columns:1fr !important;}}

/* Highlighted "View All Tickets" CTA */
.dash-cta{width:auto !important;display:inline-block;animation:dashPulse 2s infinite;}
@keyframes dashPulse{
  0%{box-shadow:0 0 0 0 rgba(37,99,235,.45);}
  70%{box-shadow:0 0 0 12px rgba(37,99,235,0);}
  100%{box-shadow:0 0 0 0 rgba(37,99,235,0);}
}

/* Dashboard status filter pills */
.dash-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.dash-filter a{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;text-decoration:none;color:white;transition:filter .12s ease,transform .12s ease;}
.dash-filter a:hover{filter:brightness(1.08);transform:translateY(-1px);}
.dash-filter .df-all{background:#1a2332;}
.dash-filter .df-open{background:#dc2626;}
.dash-filter .df-progress{background:#2563eb;}
.dash-filter .df-working{background:#ea580c;}
.dash-filter .df-pending{background:#d97706;}
.dash-filter .df-resolved{background:#16a34a;}
.en-stat{
  border:none;border-radius:var(--radius);
  box-shadow:0 8px 20px rgba(15,23,42,.18);padding:22px 24px;display:flex;flex-direction:column;gap:6px;
  color:#fff;transition:transform .18s ease,box-shadow .18s ease;
}
.en-stat:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,23,42,.28);}
.en-stat .en-stat-num{font-size:34px;font-weight:800;color:#fff;line-height:1;}
.en-stat .en-stat-label{font-size:13px;font-weight:600;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.4px;}
/* Stat box colours match the ticket_report row/status colours exactly */
.en-stat.is-open{background:#FF0000;}      /* Open      — red    (status 1) */
.en-stat.is-progress{background:#00AA00;}  /* In Progress — green (status 2) */
.en-stat.is-working{background:#E65C00;}   /* Working   — dark orange (status 3) */
.en-stat.is-pending{background:#F1C40F;}   /* Pending   — yellow (status 7) */
.en-stat.is-pending .en-stat-num{color:#333333;}
.en-stat.is-pending .en-stat-label{color:#333333;}
.en-stat.is-support{background:#9B59B6;}   /* Need Support — purple (status 4) */
.en-stat.is-accounts{background:#00BBBB;}  /* Accounts Clearance — cyan (status 6) */
.en-stat.is-accounts .en-stat-num{color:#333333;}
.en-stat.is-accounts .en-stat-label{color:#333333;}
.en-stat.is-solved{background:#16A085;}    /* Resolved/Closed — teal (distinct from In Progress green) */
.en-stat.is-total{background:#1a2332;}     /* Total — dark navy */
/* Clickable stat boxes: the whole card is a link */
a.en-stat-link{text-decoration:none !important;display:block;color:inherit;}
a.en-stat-link:hover .en-stat{transform:translateY(-2px);opacity:.9;box-shadow:0 14px 30px rgba(15,23,42,.28);}

/* Operator dashboard: compact stat cards so the page fits at 100% zoom */
.dash-grid-3 .en-stat{min-height:80px;padding:14px 16px;}
.dash-grid-3 .en-stat .en-stat-num{font-size:28px;}
.dash-grid-3 .en-stat .en-stat-label{font-size:11px;}

/* Operator dashboard: highlight tickets assigned to the current operator */
.op-row-mine{background-color:#dbeafe !important;border-left:4px solid #2563eb !important;}
/* high specificity to beat table[border] td and any zebra/datagrid rules */
table.op-table tr.op-row-mine td,
table.op-table tr.op-row-mine th{background-color:#dbeafe !important;}
table.op-table tr.op-row-mine td:first-child{border-left:4px solid #2563eb !important;}
.badge.badge-mine{background:#2563eb !important;color:#fff !important;}

/* Member ticket report: compact 3-column filter grid (fits at 100% zoom) */
.member-filter-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.member-filter-grid label{font-size:12px;font-weight:600;color:#1a2332;margin-bottom:4px;display:block;}
.member-filter-grid select,.member-filter-grid input:not([type=submit]){width:100%;padding:7px 10px;border:1px solid #ddd;border-radius:6px;font-size:12px;box-sizing:border-box;background:#fff;color:#1a2332;}
.member-filter-submit{margin-top:12px;}

/* Flash messages (session flashdata shown under the navbar) */
.flash-success{background:#dcfce7;border:1px solid #16a34a;color:#15803d;padding:12px 20px;border-radius:8px;margin:12px 0;font-weight:500;display:flex;align-items:center;gap:8px;}
.flash-success::before{content:'\2713';font-size:16px;}
.flash-error{background:#fee2e2;border:1px solid #dc2626;color:#dc2626;padding:12px 20px;border-radius:8px;margin:12px 0;font-weight:500;display:flex;align-items:center;gap:8px;}
.flash-error::before{content:'\2717';font-size:16px;}
.flash-warning{background:#fef9c3;border:1px solid #ca8a04;color:#92400e;padding:12px 20px;border-radius:8px;margin:12px 0;font-weight:500;}

/* ============================================================
   FOOTER
   ============================================================ */
.tab{background:transparent !important;}
.en-footer{
  clear:both;width:100%;
  margin-top:40px;padding:22px 16px;border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
  color:var(--muted);font-size:13px;
}
.en-footer a{color:var(--muted);margin:0 8px;}
.en-footer a:hover{color:var(--accent);}

/* Legacy sidebar (#menu) tidy-up */
#menu{position:static !important;width:auto !important;}
#menu dt{
  background:var(--card) !important;border:1px solid var(--border);border-radius:9px;
  color:var(--text) !important;height:auto !important;width:auto !important;
  padding:10px 14px !important;margin-bottom:6px;font-weight:600;
}
#menu dd{position:static !important;left:auto !important;margin:0 0 8px !important;width:auto !important;}
#menu li{background:none !important;height:auto !important;padding:6px 14px !important;}

/* ============================================================
   ADMIN SIDEBAR (collapsible accordion)
   ============================================================ */
.admin-sidebar{
  background:var(--navy);border-radius:var(--radius);
  padding:10px;box-shadow:var(--shadow);position:sticky;top:16px;
}
.admin-sidebar .as-item{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  color:#cbd5e1;font-weight:500;font-size:13px;
  padding:8px 15px;border-radius:8px;cursor:pointer;
  text-decoration:none;transition:background .15s,color .15s;
  font-family:'Roboto Condensed','Noto Sans Bengali',Arial,sans-serif;
}
.admin-sidebar .as-item:hover{background:rgba(255,255,255,.08);color:#fff;}
.admin-sidebar .as-item.active{background:var(--accent);color:#fff;}
.admin-sidebar .as-arrow{font-size:10px;color:#94a3b8;transition:transform .2s ease;}
.admin-sidebar .as-group.open > .as-item .as-arrow{transform:rotate(90deg);color:#fff;}
.admin-sidebar .as-sub{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.admin-sidebar .as-group.open .as-sub{max-height:240px;}
.admin-sidebar .as-sub a{
  display:block;color:#94a3b8;font-size:13px;text-decoration:none;
  padding:9px 14px 9px 32px;border-radius:7px;margin:2px 0;
  transition:background .15s,color .15s;
}
.admin-sidebar .as-sub a:hover{background:rgba(255,255,255,.06);color:#fff;}
.admin-sidebar .as-sub a.active{background:rgba(37,99,235,.30);color:#fff;}

/* Colorful left-border accents per section */
.admin-sidebar .as-ticket > .as-item{border-left:3px solid #3b82f6;}
.admin-sidebar .as-notice > .as-item{border-left:3px solid #8b5cf6;}
.admin-sidebar .as-member > .as-item{border-left:3px solid #10b981;}
.admin-sidebar .as-issue{border-left:3px solid #f59e0b;}

/* ============================================================
   ADMIN TICKET REPORT — horizontal filter, native date, pagination
   ============================================================ */
.admin-filter-card { background:white; border-radius:12px; padding:16px 20px; box-shadow:0 2px 8px rgba(0,0,0,0.06); margin-bottom:16px; }
.admin-filter-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.admin-filter-row label { font-size:13px; font-weight:600; color:#1a2332; margin-right:4px; margin-bottom:0; }
.admin-filter-row select,
.admin-filter-row input[type=text],
.admin-filter-row input[type=date] {
  padding:8px 12px !important; border:1px solid #ddd !important; border-radius:8px !important;
  font-size:13px !important; min-width:140px; background:#fff !important; color:#1a2332 !important; margin-bottom:0 !important;
}
.admin-filter-row .en-btn { width:auto !important; padding:8px 20px !important; }

input[type="date"] { padding:8px 12px; border:1px solid #ddd; border-radius:8px; font-size:13px; color:#1a2332; cursor:pointer; }
input[type="date"]:focus { border-color:#3b82f6; outline:none; box-shadow:0 0 0 3px rgba(59,130,246,0.1); }

.pagination { display:flex; gap:6px; padding:16px 0; flex-wrap:wrap; }
.pagination a, .pagination span { padding:6px 12px; border-radius:6px; border:1px solid #ddd; font-size:13px; color:#1a2332; text-decoration:none; }
.pagination a:hover { background:#3b82f6; color:white; border-color:#3b82f6; }
.pagination span.current { background:#3b82f6; color:white; border-color:#3b82f6; font-weight:700; }

/* Password toggle (member list) */
.pass-wrap {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.pw-text {
	font-family: monospace;
	letter-spacing: 1px;
	font-size: 13px;
	min-width: 65px;
	display: inline-block;
}
.pw-eye {
	background: none;
	border: none;
	cursor: pointer;
	padding: 2px;
	color: #6c757d;
	display: inline-flex;
	align-items: center;
	border-radius: 3px;
	transition: color 0.2s;
	flex-shrink: 0;
	vertical-align: middle;
}
.pw-eye:hover {
	color: #2563eb;
}

/* ===== CUSTOM CONFIRM MODAL ===== */
.en-modal-overlay {
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(0,0,0,0.55);
	backdrop-filter: blur(3px);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: modalFadeIn 0.2s ease;
}
@keyframes modalFadeIn { from { opacity: 0; } to { opacity: 1; } }
.en-modal-box {
	background: #ffffff;
	border-radius: 16px;
	padding: 36px 32px;
	max-width: 400px;
	width: 90%;
	text-align: center;
	box-shadow: 0 20px 60px rgba(0,0,0,0.3);
	animation: modalSlideIn 0.25s ease;
}
@keyframes modalSlideIn { from { transform: translateY(-20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.en-modal-icon { margin-bottom: 16px; line-height: 0; }
.en-modal-title { font-size: 20px; font-weight: 700; color: #1a2332; margin: 0 0 8px 0; }
.en-modal-msg { font-size: 14px; color: #6c757d; margin: 0 0 28px 0; line-height: 1.5; }
.en-modal-actions { display: flex; gap: 12px; justify-content: center; }
.en-modal-cancel {
	padding: 10px 28px;
	border: 2px solid #dee2e6;
	background: #ffffff;
	color: #6c757d;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s;
	font-family: 'Roboto Condensed','Noto Sans Bengali',Arial,sans-serif;
}
.en-modal-cancel:hover { background: #f8f9fa; border-color: #adb5bd; color: #495057; }
.en-modal-confirm {
	padding: 10px 28px;
	border: none;
	background: #dc3545;
	color: #ffffff;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s;
	font-family: 'Roboto Condensed','Noto Sans Bengali',Arial,sans-serif;
}
.en-modal-confirm:hover { background: #c82333; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(220,53,69,0.4); }
