:root{--primary:#635bff;--primary-2:#8b5cf6;--primary-soft:#f0efff;--success:#16a34a;--danger:#e11d48;--warning:#f59e0b;--ink:#101828;--muted:#667085;--line:#e8eaf2;--surface:#fff;--surface-2:#f7f8fc;--bg:#f3f5fb;--shadow:0 18px 50px rgba(16,24,40,.08);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--app-font,"Geist",sans-serif);font-size:14px}.app-navbar{height:72px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(232,234,242,.85);z-index:1035}.navbar-brand{font-size:19px;color:var(--ink)!important}.brand-mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 10px 25px rgba(99,91,255,.3)}.nav-link{font-weight:600;color:#475467!important;border-radius:11px;padding:9px 13px!important}.nav-link:hover,.nav-link.active{background:var(--primary-soft);color:var(--primary)!important}.btn{border-radius:13px;font-weight:650;padding:.7rem 1rem;border-width:1px}.btn-sm{border-radius:10px;padding:.42rem .72rem}.btn-primary{border:0;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 8px 20px rgba(99,91,255,.22)}.btn-primary:hover{transform:translateY(-1px);filter:brightness(.98)}.btn-light{background:#fff;border-color:var(--line)}.icon-btn{width:42px;height:42px;padding:0;display:grid;place-items:center}.app-main{min-height:calc(100vh - 72px);padding-top:28px}.card,.surface{background:var(--surface);border:1px solid rgba(232,234,242,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.card{overflow:hidden}.hero-pro{position:relative;padding:72px 64px;border-radius:32px;background:radial-gradient(circle at 90% 15%,rgba(255,255,255,.65),transparent 25%),linear-gradient(135deg,#ebe9ff 0%,#f8f7ff 45%,#eaf7ff 100%);overflow:hidden;border:1px solid #e7e5ff}.hero-pro:after{content:'';position:absolute;width:350px;height:350px;border:70px solid rgba(99,91,255,.08);border-radius:50%;right:-80px;bottom:-180px}.hero-title{font-size:clamp(2.45rem,5vw,4.7rem);line-height:1.02;letter-spacing:-.055em}.gradient-text{background:linear-gradient(90deg,var(--primary),#9c50e8);-webkit-background-clip:text;color:transparent}.eyebrow,.badge-soft{display:inline-flex;align-items:center;gap:7px;color:var(--primary);background:var(--primary-soft);border:1px solid #ddd9ff;border-radius:999px;padding:7px 12px;font-weight:700;font-size:12px}.search-shell{background:#fff;border:1px solid #e7e9f0;padding:8px;border-radius:18px;box-shadow:0 18px 40px rgba(52,64,84,.12)}.search-shell .form-control{border:0;box-shadow:none}.hero-panel{position:relative;z-index:2;background:rgba(255,255,255,.75);backdrop-filter:blur(15px);padding:24px;border:1px solid rgba(255,255,255,.9);border-radius:26px;box-shadow:0 24px 60px rgba(63,56,170,.16)}.mini-job{background:#fff;padding:14px;border-radius:16px;border:1px solid var(--line)}.stat-card{position:relative;padding:22px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.stat-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-size:18px}.stat-value{font-size:1.55rem;font-weight:800;letter-spacing:-.03em}.section-title{font-weight:800;letter-spacing:-.035em}.job-card{height:100%;padding:22px;transition:.22s ease}.job-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(16,24,40,.13)}.job-title{font-size:1.05rem;font-weight:750;line-height:1.45;color:var(--ink);text-decoration:none}.job-meta{color:var(--muted);font-size:12px}.reward{font-size:1.15rem;font-weight:800;color:var(--success)}.progress{height:7px;background:#edeff5;border-radius:99px}.progress-bar{background:linear-gradient(90deg,var(--primary),var(--primary-2))}.avatar{width:42px;height:42px;border-radius:14px;object-fit:cover;background:linear-gradient(135deg,#e9e7ff,#dff4ff)}.avatar-sm{width:34px;height:34px;border-radius:11px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.category-item{display:flex;align-items:center;gap:12px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);font-weight:650;transition:.2s}.category-item:hover{border-color:#cfcaff;transform:translateY(-2px)}.category-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--primary-soft);color:var(--primary)}.dashboard-shell{display:grid;grid-template-columns:245px minmax(0,1fr);gap:24px}.app-sidebar{position:sticky;top:96px;height:max-content;padding:16px}.sidebar-user{padding:10px 8px 17px;border-bottom:1px solid var(--line);margin-bottom:10px}.sidebar-link{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:13px;color:#475467;text-decoration:none;font-weight:600;margin:3px 0}.sidebar-link i{width:20px;text-align:center}.sidebar-link:hover,.sidebar-link.active{background:var(--primary-soft);color:var(--primary)}.panel-title{font-weight:750;margin:0}.table-modern{margin:0}.table-modern th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3;font-weight:700;border-bottom-color:var(--line);padding:14px}.table-modern td{vertical-align:middle;padding:14px;border-bottom-color:#f0f1f5}.form-control,.form-select{border:1px solid #dfe3eb;border-radius:13px;padding:.75rem .9rem;background:#fff}.form-control:focus,.form-select:focus{border-color:#aaa4ff;box-shadow:0 0 0 4px rgba(99,91,255,.1)}label{font-weight:650;color:#344054;margin-bottom:7px}.form-section{padding:23px;border-bottom:1px solid var(--line)}.form-section:last-child{border-bottom:0}.form-section-title{font-size:1rem;font-weight:750}.wallet-hero{padding:28px;background:linear-gradient(135deg,#27235f,#5f57eb);color:#fff;border-radius:25px;box-shadow:0 25px 55px rgba(57,48,171,.25)}.wallet-number{font-size:2.2rem;font-weight:800}.filter-panel{padding:18px}.empty-state{text-align:center;padding:60px 20px}.empty-icon{width:70px;height:70px;margin:auto;display:grid;place-items:center;border-radius:24px;background:var(--primary-soft);color:var(--primary);font-size:26px}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;background:#f2f4f7;color:#475467}.status-pill.success{background:#ecfdf3;color:#027a48}.status-pill.warning{background:#fffaeb;color:#b54708}.alert{border:0;border-radius:16px}.toast-stack{position:fixed;right:20px;top:90px;z-index:1100;width:min(380px,calc(100vw - 30px))}.app-footer{background:#fff;border-top:1px solid var(--line);margin-top:60px}.mobile-nav{display:none}.mobile-filter-trigger{display:none}.auth-shell{min-height:70vh;display:grid;place-items:center}.auth-card{width:min(470px,100%);padding:30px}.admin-nav{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.admin-nav a{white-space:nowrap;text-decoration:none;padding:10px 13px;border-radius:12px;background:#fff;border:1px solid var(--line);color:#475467;font-weight:650}.admin-nav a:hover{color:var(--primary);border-color:#cfcaff}.sticky-action{position:sticky;top:96px}.dark-mode{--bg:#0d1018;--surface:#151923;--surface-2:#1c202c;--ink:#f3f4f6;--muted:#98a2b3;--line:#292e3a;--shadow:0 18px 50px rgba(0,0,0,.28)}.dark-mode .app-navbar,.dark-mode .app-footer,.dark-mode .mobile-nav,.dark-mode .stat-card,.dark-mode .category-item,.dark-mode .mini-job,.dark-mode .search-shell{background:#151923}.dark-mode .form-control,.dark-mode .form-select,.dark-mode .btn-light{background:#1c202c;color:#fff;border-color:#303645}.dark-mode .nav-link,.dark-mode .sidebar-link{color:#c7cbd3!important}.dark-mode .hero-pro{background:linear-gradient(135deg,#201d45,#151923)}@media(max-width:991.98px){.hero-pro{padding:48px 30px}.dashboard-shell{grid-template-columns:1fr}.app-sidebar{position:static;display:none}.category-grid{grid-template-columns:repeat(2,1fr)}.desktop-only{display:none!important}.navbar-collapse{background:#fff;padding:14px;border-radius:18px;box-shadow:var(--shadow);margin-top:10px}.dark-mode .navbar-collapse{background:#151923}}@media(max-width:767.98px){body{padding-bottom:78px}.app-main{padding-top:18px}.container{padding-left:14px;padding-right:14px}.hero-pro{padding:34px 20px;border-radius:25px}.hero-title{font-size:2.35rem}.hero-panel{margin-top:25px}.search-shell{display:block}.search-shell .btn{width:100%;margin-top:8px}.category-grid{grid-template-columns:1fr 1fr;gap:10px}.category-item{padding:12px;gap:9px;font-size:12px}.category-icon{width:36px;height:36px}.stat-card{padding:17px}.stat-value{font-size:1.22rem}.job-card{padding:18px}.mobile-nav{display:flex;position:fixed;left:10px;right:10px;bottom:9px;height:65px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 16px 45px rgba(16,24,40,.18);border-radius:21px;z-index:1060;align-items:center;justify-content:space-around}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#667085;text-decoration:none;font-size:10px;font-weight:650;min-width:48px}.mobile-nav a i{font-size:17px}.mobile-nav .plus{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;justify-content:center;margin-top:-25px;box-shadow:0 10px 25px rgba(99,91,255,.35)}.app-footer{display:none}.table-responsive{border-radius:17px}.mobile-filter-trigger{display:inline-flex}.filter-panel.mobile-drawer{position:fixed;inset:0 0 0 12%;z-index:1080;border-radius:24px 0 0 24px;transform:translateX(110%);transition:.25s;padding-top:30px;overflow:auto}.filter-panel.mobile-drawer.show{transform:translateX(0)}.drawer-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:1079;display:none}.drawer-backdrop.show{display:block}.wallet-number{font-size:1.8rem}.form-section{padding:18px}.sticky-action{position:static}.auth-card{padding:22px}.table-mobile-cards thead{display:none}.table-mobile-cards,.table-mobile-cards tbody,.table-mobile-cards tr,.table-mobile-cards td{display:block;width:100%}.table-mobile-cards tr{padding:12px;border-bottom:1px solid var(--line)}.table-mobile-cards td{border:0;padding:5px 2px}.table-mobile-cards td:before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:700}.admin-nav{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}}
/* ===== Giao diện nâng cấp 2026 - đồng bộ toàn website ===== */
:root{
  --primary:#6d5dfc;
  --primary-2:#9b5cff;
  --primary-3:#2f80ed;
  --primary-soft:#f1efff;
  --success:#14b86e;
  --danger:#f04467;
  --warning:#f7a928;
  --info:#22a6f2;
  --ink:#172033;
  --muted:#667085;
  --line:#e8e7f2;
  --surface:#ffffff;
  --surface-2:#f8f9ff;
  --bg:#f5f6ff;
  --shadow:0 18px 55px rgba(77,67,155,.10);
  --shadow-hover:0 25px 70px rgba(77,67,155,.17);
  --radius:22px;
}

html,body,button,input,select,textarea,.btn,.form-control,.form-select,.dropdown-menu,.tooltip,.popover{
  font-family:var(--app-font,"Geist",sans-serif)!important;
}
body{
  background:
    radial-gradient(circle at 0 0,rgba(109,93,252,.08),transparent 27rem),
    radial-gradient(circle at 100% 18%,rgba(34,166,242,.08),transparent 25rem),
    var(--bg);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:var(--primary)}
a:hover{color:#5847ec}
::selection{background:rgba(109,93,252,.22);color:var(--ink)}

.app-navbar{
  height:76px;
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(255,255,255,.75);
  box-shadow:0 8px 30px rgba(52,47,104,.06);
}
.navbar-brand{letter-spacing:-.03em}
.brand-mark{
  width:44px;height:44px;border-radius:15px;
  background:linear-gradient(135deg,#6d5dfc 0%,#9859ff 52%,#2f80ed 100%);
  box-shadow:0 12px 28px rgba(109,93,252,.32);
}
.nav-link{font-size:13px;letter-spacing:-.01em}
.nav-link:hover,.nav-link.active{
  background:linear-gradient(135deg,#f1efff,#edf7ff);
  box-shadow:inset 0 0 0 1px rgba(109,93,252,.08);
}

.btn{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,#6d5dfc,#9559ff 55%,#367fee);
  box-shadow:0 10px 24px rgba(109,93,252,.26);
}
.btn-primary:hover{box-shadow:0 14px 30px rgba(109,93,252,.34)}
.btn-light{box-shadow:0 5px 15px rgba(58,53,103,.045)}
.btn-dark{background:linear-gradient(135deg,#22243a,#393b58);border:0}

.card,.surface{
  border-color:rgba(224,223,238,.9);
  box-shadow:var(--shadow);
}
.card{transition:box-shadow .22s ease,border-color .22s ease,transform .22s ease}
.card:hover{border-color:rgba(109,93,252,.18)}

.hero-pro{
  background:
    radial-gradient(circle at 88% 14%,rgba(255,255,255,.92),transparent 18%),
    radial-gradient(circle at 77% 95%,rgba(47,128,237,.14),transparent 27%),
    linear-gradient(135deg,#eeeaff 0%,#fff8ff 48%,#e9f7ff 100%);
  border-color:#e3defe;
  box-shadow:0 28px 80px rgba(88,74,175,.13);
}
.hero-pro:before{
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;
  left:-65px;top:-80px;background:rgba(255,255,255,.42);filter:blur(2px)
}
.hero-title{color:#18162d}
.gradient-text{
  background:linear-gradient(90deg,#6758f3 0%,#a34fdc 48%,#297edb 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.eyebrow,.badge-soft{
  background:linear-gradient(135deg,#f0edff,#eef8ff);
  border-color:#ddd8ff;
  box-shadow:0 5px 15px rgba(109,93,252,.07);
}
.hero-panel{
  background:rgba(255,255,255,.78);
  border-color:rgba(255,255,255,.96);
  box-shadow:0 26px 65px rgba(74,61,165,.16);
}
.mini-job{transition:.2s ease}
.mini-job:hover{transform:translateX(4px);border-color:#d4ceff;box-shadow:0 10px 25px rgba(80,70,155,.10)}

.stat-card:after{
  content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-32px;bottom:-42px;
  background:linear-gradient(135deg,rgba(109,93,252,.12),rgba(47,128,237,.08));
}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#dcd7ff}
.stat-icon,.category-icon,.empty-icon{
  background:linear-gradient(135deg,#efecff,#e9f7ff);
  color:#6758ef;
  box-shadow:inset 0 0 0 1px rgba(109,93,252,.07);
}
.section-title{color:#1c2435}
.category-item:hover{border-color:#cec7ff;box-shadow:0 16px 35px rgba(76,66,151,.10)}
.job-card:hover{box-shadow:var(--shadow-hover);border-color:#d8d2ff}
.reward{color:#0ba968}
.progress{height:8px;background:#ececf5}
.progress-bar{background:linear-gradient(90deg,#6d5dfc,#9b5cff,#2f80ed)}

.form-control,.form-select{
  min-height:47px;
  border-color:#deddea;
  background:#fff;
  color:var(--ink);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.form-control:hover,.form-select:hover{border-color:#c8c4e4}
.form-control:focus,.form-select:focus{
  border-color:#8d82ff;
  box-shadow:0 0 0 4px rgba(109,93,252,.11);
}
.form-control::placeholder{color:#a1a7b3}
label,.form-label{letter-spacing:-.01em}
.table-modern tbody tr{transition:background .18s ease}
.table-modern tbody tr:hover{background:#faf9ff}
.table-modern th{background:#fbfbff;color:#858da0}

.wallet-hero{
  background:
    radial-gradient(circle at 85% 15%,rgba(255,255,255,.18),transparent 22%),
    linear-gradient(135deg,#30256c,#705af3 54%,#2d82d8);
}
.status-pill.success{background:#eafbf3;color:#07824e}
.status-pill.warning{background:#fff7df;color:#af6b05}
.alert{box-shadow:0 12px 30px rgba(55,48,108,.08)}

.app-sidebar{background:rgba(255,255,255,.92)}
.sidebar-link:hover,.sidebar-link.active{
  background:linear-gradient(135deg,#f0edff,#edf7ff);
  color:#6252ed;
}
.admin-nav a:hover,.admin-nav a.active{background:var(--primary-soft);box-shadow:0 8px 18px rgba(109,93,252,.08)}
.app-footer{background:rgba(255,255,255,.82);backdrop-filter:blur(12px)}

.dark-mode{
  --bg:#0e1020;--surface:#171928;--surface-2:#1d2032;--ink:#f5f6fb;--muted:#a7adbd;
  --line:#2d3043;--shadow:0 18px 50px rgba(0,0,0,.30)
}
.dark-mode body{background:radial-gradient(circle at 0 0,rgba(109,93,252,.13),transparent 28rem),#0e1020}
.dark-mode .hero-title,.dark-mode .section-title{color:#fff}
.dark-mode .hero-pro{background:linear-gradient(135deg,#252044,#171928 55%,#172b3b);border-color:#393458}
.dark-mode .card,.dark-mode .surface,.dark-mode .app-sidebar{background:#171928}
.dark-mode .table-modern th{background:#1b1e2f}
.dark-mode .table-modern tbody tr:hover{background:#1d2032}

@media(max-width:991.98px){
  .app-navbar{height:auto;min-height:70px}
  .navbar-collapse{border:1px solid var(--line)}
}
@media(max-width:767.98px){
  body{font-size:13px}
  .hero-pro{box-shadow:0 20px 50px rgba(88,74,175,.12)}
  .hero-title{font-size:2.15rem;line-height:1.08}
  .mobile-nav{border-color:rgba(218,216,235,.95);box-shadow:0 16px 46px rgba(46,42,89,.20)}
  .mobile-nav .plus{background:linear-gradient(135deg,#6d5dfc,#9859ff 55%,#2f80ed)}
  .card,.surface{border-radius:18px}
  .btn{padding:.68rem .9rem}
}

/* Desktop sidebar + unified typography */
html,body,button,input,select,textarea,.btn,.form-control,.form-select,.table,.navbar,.dropdown-menu{font-family:var(--app-font,"Geist",sans-serif)!important}
@media (min-width:992px){
  .dashboard-shell{align-items:start}
  .app-sidebar{position:sticky!important;top:92px!important;max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:20}
  .app-sidebar::-webkit-scrollbar{width:5px}
  .app-sidebar::-webkit-scrollbar-thumb{background:rgba(99,91,255,.22);border-radius:99px}
}

/* Persistent account sidebar */
@media (min-width: 992px){
  .dashboard-shell{align-items:start}
  .dashboard-content{min-width:0}
  .app-sidebar{
    position:sticky!important;
    top:92px!important;
    max-height:calc(100vh - 112px);
    overflow-y:auto;
    overscroll-behavior:contain;
    z-index:20;
  }
}

/* Quản lý Job: sidebar cố định + popup minh chứng */
.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:650;text-decoration:none}
.back-link:hover{color:var(--primary)}
.manage-job-card{overflow:visible}
.manage-job-table td{min-width:130px}
.manage-job-table td:nth-child(2){min-width:230px;max-width:340px}
.manage-job-table td:last-child{min-width:230px}
.worker-name{display:flex;align-items:center;gap:10px;white-space:nowrap}
.worker-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#efecff,#e9f7ff);color:var(--primary)}
.report-text{color:#344054;line-height:1.6;word-break:break-word}
.proof-note{margin-top:8px;padding:8px 10px;border-radius:10px;background:#f8f7ff;color:#667085;font-size:12px}
.proof-actions{display:flex;flex-wrap:wrap;gap:8px}
.btn-proof{display:inline-flex;align-items:center;gap:7px;padding:.55rem .75rem;border-radius:11px;font-size:12px;font-weight:700;border:1px solid transparent}
.btn-proof-link{background:#f0edff;color:#6252ed;border-color:#ddd8ff}
.btn-proof-link:hover{background:#e8e3ff;color:#5141de;border-color:#cbc3ff}
.btn-proof-file{background:#eaf7ff;color:#1478bb;border-color:#cfeeff}
.btn-proof-file:hover{background:#dff2ff;color:#086da9;border-color:#bae5ff}
.reject-reason{margin-top:8px;max-width:220px;color:var(--danger);font-size:11px;line-height:1.45}
.review-form{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.review-form .form-control{width:220px;min-height:38px}
.review-buttons{display:flex;justify-content:flex-end;gap:7px}
.proof-modal .modal-dialog{padding:12px}
.proof-modal .modal-content{border:0;border-radius:24px;overflow:hidden;box-shadow:0 30px 90px rgba(16,24,40,.28)}
.proof-modal .modal-header{padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#faf9ff,#f3f9ff)}
.proof-modal .modal-title{font-weight:800;margin:0}
.modal-subtitle{font-size:12px;color:var(--muted);margin-top:2px}
.proof-url-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f8f9fc;border-bottom:1px solid var(--line)}
.proof-url-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}
.proof-frame{display:block;width:100%;height:min(72vh,720px);border:0;background:#f5f6fa}
.proof-file-viewer{display:grid;place-items:center;min-height:420px;background:linear-gradient(135deg,#f4f3fb,#eef7fc);padding:22px!important}
.proof-file-viewer img{display:block;max-width:100%;max-height:72vh;object-fit:contain;border-radius:16px;box-shadow:0 18px 55px rgba(16,24,40,.16)}
.proof-help{justify-content:flex-start;color:var(--muted);font-size:12px;background:#fff}
.dark-mode .report-text{color:#d7dae2}
.dark-mode .proof-note,.dark-mode .proof-url-bar{background:#1d2032}
.dark-mode .proof-modal .modal-header{background:linear-gradient(135deg,#201d38,#172433)}
.dark-mode .proof-modal .modal-content{background:#171928;color:#fff}
.dark-mode .btn-close{filter:invert(1)}
@media(max-width:991.98px){
  .manage-job-card{overflow:hidden}
  .manage-job-table thead{display:none}
  .manage-job-table,.manage-job-table tbody,.manage-job-table tr,.manage-job-table td{display:block;width:100%}
  .manage-job-table tr{padding:16px;border-bottom:1px solid var(--line)}
  .manage-job-table td,.manage-job-table td:nth-child(2),.manage-job-table td:last-child{min-width:0;max-width:none;border:0;padding:7px 0!important;text-align:left!important}
  .manage-job-table td:before{content:attr(data-label);display:block;margin-bottom:5px;color:#98a2b3;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}
  .review-form{align-items:stretch}.review-form .form-control{width:100%}.review-buttons{justify-content:flex-start}
}
@media(max-width:575.98px){
  .proof-modal .modal-dialog{margin:0;padding:8px;min-height:100%}
  .proof-modal .modal-content{border-radius:19px}
  .proof-url-bar{align-items:stretch;flex-direction:column}
  .proof-url-bar .btn{width:100%}
  .proof-frame{height:65vh}
  .proof-file-viewer{min-height:320px;padding:12px!important}
}

/* ===== ADMIN SIDEBAR CỐ ĐỊNH TOÀN BỘ TRANG ===== */
.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.admin-content{min-width:0;padding-bottom:32px}
.admin-sidebar{position:sticky;top:92px;max-height:calc(100vh - 112px);overflow:hidden;padding:16px;border-radius:24px;border:1px solid rgba(99,91,255,.13);box-shadow:0 18px 50px rgba(51,42,130,.12);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);z-index:20}
.admin-sidebar-head{display:flex;align-items:center;gap:12px;padding:4px 6px 17px;border-bottom:1px solid rgba(99,91,255,.12)}
.admin-logo{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:19px;background:linear-gradient(135deg,#6d5dfc,#a64dff 52%,#2f80ed);box-shadow:0 10px 22px rgba(109,93,252,.28);flex:0 0 auto}
.admin-sidebar-label{padding:18px 12px 8px;font-size:10px;font-weight:800;letter-spacing:.14em;color:#98a0b3}
.admin-sidebar-nav{overflow-y:auto;max-height:calc(100vh - 310px);padding-right:3px;scrollbar-width:thin}
.admin-sidebar-link{display:flex;align-items:center;gap:12px;min-height:45px;padding:10px 12px;margin:3px 0;border-radius:13px;color:#526078;text-decoration:none;font-size:14px;font-weight:600;transition:.2s ease}
.admin-sidebar-link>i:first-child{width:20px;text-align:center;font-size:15px}
.admin-sidebar-link:hover{color:#5f51ed;background:linear-gradient(90deg,rgba(109,93,252,.10),rgba(47,128,237,.06));transform:translateX(2px)}
.admin-sidebar-link.active{color:#5e50f2;background:linear-gradient(100deg,rgba(109,93,252,.16),rgba(47,128,237,.09));box-shadow:inset 3px 0 0 #6d5dfc}
.admin-sidebar-link.active>i:first-child{color:#6d5dfc}
.admin-sidebar-link .active-arrow{font-size:10px;color:#8b82ef}
.admin-sidebar-foot{border-top:1px solid rgba(99,91,255,.12);padding-top:10px;margin-top:12px}
.admin-content>h2:first-child,.admin-content>.card:first-child>h2:first-child{font-weight:800;letter-spacing:-.035em;margin-bottom:22px}
@media (min-width:992px){body:has(.admin-shell) .app-main>.container{max-width:1420px}.admin-shell .table-responsive{border-radius:16px}.admin-shell .card{overflow:hidden}}
@media (max-width:991.98px){.admin-shell{display:block}.admin-sidebar{position:relative;top:auto;max-height:none;margin-bottom:20px;padding:12px;border-radius:19px}.admin-sidebar-head{padding-bottom:12px}.admin-sidebar-label{display:none}.admin-sidebar-nav{display:flex;overflow-x:auto;overflow-y:hidden;max-height:none;padding:8px 0 2px;gap:5px}.admin-sidebar-link{flex:0 0 auto;white-space:nowrap;margin:0;min-height:42px}.admin-sidebar-foot{display:none}.admin-content{padding-bottom:10px}}
[data-theme="dark"] .admin-sidebar{background:rgba(22,25,39,.94);border-color:rgba(139,130,239,.2)}

/* Admin finance shortcuts in header */
.admin-headbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;padding:18px 20px;border:1px solid rgba(109,93,252,.12);border-radius:22px;background:rgba(255,255,255,.84);box-shadow:0 16px 45px rgba(53,45,120,.08);backdrop-filter:blur(14px)}
.admin-headbar-title{font-size:clamp(1.35rem,2vw,2rem);font-weight:800;letter-spacing:-.04em;color:var(--text);margin-top:4px}
.admin-finance-actions{display:flex;align-items:center;gap:12px}
.admin-finance-btn{position:relative;display:flex;align-items:center;gap:11px;min-width:190px;padding:11px 15px;border:1px solid rgba(109,93,252,.12);border-radius:16px;background:#fff;color:var(--text);text-decoration:none;box-shadow:0 8px 24px rgba(31,38,135,.07);transition:.22s ease}
.admin-finance-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(31,38,135,.12);color:var(--text)}
.admin-finance-btn.active{border-color:rgba(109,93,252,.34);box-shadow:0 0 0 3px rgba(109,93,252,.09),0 14px 30px rgba(31,38,135,.1)}
.admin-finance-btn small{display:block;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.admin-finance-btn strong{display:block;font-size:.86rem;white-space:nowrap}
.admin-finance-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;color:#fff;flex:0 0 auto}
.admin-finance-btn.deposit .admin-finance-icon{background:linear-gradient(135deg,#16a085,#3ddc97)}
.admin-finance-btn.withdraw .admin-finance-icon{background:linear-gradient(135deg,#7c4dff,#ef5da8)}
.admin-finance-btn>b{position:absolute;right:-7px;top:-8px;min-width:24px;height:24px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;border:3px solid #fff}
@media(max-width:991.98px){.admin-headbar{align-items:flex-start;flex-direction:column}.admin-finance-actions{width:100%}.admin-finance-btn{flex:1;min-width:0}}
@media(max-width:575.98px){.admin-headbar{padding:15px;border-radius:18px}.admin-finance-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-finance-btn{padding:10px;gap:8px}.admin-finance-btn strong{display:none}.admin-finance-icon{width:36px;height:36px}.admin-finance-btn small{font-size:.75rem;text-transform:none;letter-spacing:0}}

/* Finance shortcuts in the main header */
.member-finance-head{display:flex;align-items:center;gap:8px;margin-right:2px}
.member-money-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:13px;text-decoration:none;font-size:13px;font-weight:750;border:1px solid var(--line);background:#fff;transition:.2s}
.member-money-btn.deposit{color:#027a48;background:#ecfdf3;border-color:#abefc6}
.member-money-btn.withdraw{color:#6941c6;background:#f4f3ff;border-color:#d9d6fe}
.member-money-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(16,24,40,.08)}
.rank-number{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#f2f4f7;font-weight:800}
.rank-number.top-rank{background:linear-gradient(135deg,#fff2b8,#ffd86f);color:#7a4b00;box-shadow:0 7px 18px rgba(255,196,0,.2)}
.dark-mode .member-money-btn{background:#1c202c}

/* ===== MOBILE PRO: đầy đủ chức năng như desktop ===== */
.site-drawer,.site-drawer-backdrop,.mobile-finance-top{display:none}
.mobile-nav button{border:0;background:transparent;padding:0}
@media(max-width:991.98px){
  body.drawer-open{overflow:hidden}
  .navbar-collapse{display:none!important}
  .mobile-menu-toggle{display:grid;width:42px;height:42px;place-items:center;border-radius:13px!important;background:#fff!important;border:1px solid var(--line)!important;box-shadow:0 6px 18px rgba(16,24,40,.07)}
  .site-drawer-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(3px);z-index:1088;opacity:0;visibility:hidden;transition:.24s}
  .site-drawer-backdrop.show{opacity:1;visibility:visible}
  .site-drawer{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(89vw,390px);z-index:1089;background:var(--surface);border-right:1px solid var(--line);box-shadow:25px 0 70px rgba(15,23,42,.24);transform:translateX(-105%);transition:transform .27s ease;flex-direction:column}
  .site-drawer.show{transform:translateX(0)}
  .site-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(109,93,252,.08),rgba(47,128,237,.06))}
  .site-drawer-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);min-width:0}
  .site-drawer-brand>span:last-child{display:flex;flex-direction:column;min-width:0}.site-drawer-brand strong{font-size:16px}.site-drawer-brand small{font-size:11px;color:var(--muted)}
  .site-drawer-user{display:flex;align-items:center;gap:12px;margin:14px 14px 4px;padding:13px;border-radius:17px;background:linear-gradient(135deg,#f6f3ff,#eef8ff);border:1px solid rgba(109,93,252,.12)}
  .site-drawer-scroll{flex:1;overflow-y:auto;padding:8px 12px 18px;overscroll-behavior:contain}
  .drawer-section-title{padding:16px 11px 7px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#98a2b3}
  .drawer-menu-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 12px;margin:3px 0;border-radius:13px;color:#475467;text-decoration:none;font-size:13px;font-weight:650}
  .drawer-menu-link i{width:21px;text-align:center;color:#7770d8;font-size:15px}.drawer-menu-link.active,.drawer-menu-link:hover{background:linear-gradient(100deg,rgba(109,93,252,.15),rgba(47,128,237,.08));color:var(--primary)}
  .drawer-finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 2px 2px}.drawer-finance{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;border-radius:14px;text-decoration:none;font-weight:750;font-size:12px}.drawer-finance.deposit{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.drawer-finance.withdraw{background:#f4f3ff;color:#6941c6;border:1px solid #d9d6fe}
  .drawer-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 4px}
  .site-drawer-foot{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--surface)}.site-drawer-foot .btn{padding:.65rem .55rem;font-size:12px}
  .admin-sidebar{display:none!important}
  .admin-shell{display:block!important}
  .dashboard-shell{display:block!important}
  .mobile-finance-top{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
  .mobile-finance-top>a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:17px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:0 9px 24px rgba(16,24,40,.06)}
  .mobile-finance-top>a>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;flex:0 0 auto}.mobile-finance-top>a:first-child>span{background:linear-gradient(135deg,#12b76a,#3ddc97)}.mobile-finance-top>a:last-child>span{background:linear-gradient(135deg,#7c4dff,#ef5da8)}
  .mobile-finance-top small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.mobile-finance-top strong{display:block;font-size:12px}.mobile-finance-top>a>.fa-chevron-right{font-size:9px;color:#98a2b3}
  .admin-headbar{margin-bottom:18px}.admin-headbar-title{font-size:1.4rem}.admin-finance-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}.admin-finance-btn{min-width:0!important}
  .table-responsive{overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%}.table{min-width:720px}.table-mobile-cards,.manage-job-table{min-width:0}
  .card .d-flex.justify-content-between{gap:10px;flex-wrap:wrap}
  .btn-group,.proof-actions,.review-buttons{flex-wrap:wrap}
  .form-control,.form-select,.btn{min-height:44px}
  .modal-dialog{margin:.6rem}.modal-content{max-height:calc(100vh - 1.2rem)}.modal-body{overflow:auto}
}
@media(max-width:575.98px){
  .app-navbar .container{gap:8px}.navbar-brand{font-size:16px}.brand-mark{width:38px;height:38px;border-radius:13px}.app-navbar .d-flex.gap-2{gap:5px!important}.app-navbar .icon-btn{width:38px;height:38px}.app-navbar .avatar-sm{width:31px;height:31px}
  .mobile-finance-top{gap:8px}.mobile-finance-top>a{padding:10px 9px;gap:8px}.mobile-finance-top>a>span{width:35px;height:35px}.mobile-finance-top>a>.fa-chevron-right{display:none}.mobile-finance-top strong{font-size:11px}
  .admin-finance-btn span:nth-child(2) strong{display:block!important;font-size:10px}.admin-finance-btn small{font-size:10px!important}.admin-finance-btn{padding:9px!important}.admin-finance-icon{width:34px!important;height:34px!important}
  .mobile-nav a,.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#667085;text-decoration:none;font-size:10px;font-weight:650;min-width:48px}.mobile-nav button i{font-size:17px}
  .row.g-4{--bs-gutter-y:1rem}.card.p-4{padding:1rem!important}.section-title{font-size:1.45rem}.eyebrow{font-size:10px;padding:6px 9px}
  .table-modern td,.table-modern th{padding:11px}.table{font-size:12px}
}
.dark-mode .site-drawer,.dark-mode .site-drawer-foot{background:#171928}.dark-mode .site-drawer-user{background:linear-gradient(135deg,#252044,#172b3b)}.dark-mode .drawer-menu-link{color:#c7cbd3}.dark-mode .mobile-finance-top>a{background:#171928}.dark-mode .mobile-menu-toggle{background:#1c202c!important}

/* Mobile parity patch: không ẩn chức năng, mọi nút thao tác luôn truy cập được */
@media(max-width:991.98px){
  .dashboard-content,.admin-content,.dashboard-shell>section,.admin-shell>section{min-width:0;width:100%}
  .dashboard-shell .desktop-only.btn-primary{display:inline-flex!important}
  .page-actions,.header-actions,.card-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .page-actions .btn,.header-actions .btn,.card-actions .btn{display:inline-flex!important}
  .table-responsive{overflow:visible!important}
  table.mobile-card-table{min-width:0!important;width:100%!important;border-collapse:separate;border-spacing:0 12px;background:transparent}
  table.mobile-card-table thead,table.mobile-card-table>tbody>tr:first-child:has(th),table.mobile-card-table>tr:first-child:has(th){display:none!important}
  table.mobile-card-table tbody,table.mobile-card-table>tbody,table.mobile-card-table>tr{display:block;width:100%}
  table.mobile-card-table tbody tr,table.mobile-card-table>tbody>tr,table.mobile-card-table>tr:not(:first-child){display:block!important;width:100%;margin:0 0 12px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 24px rgba(16,24,40,.055)}
  table.mobile-card-table td{display:grid!important;grid-template-columns:minmax(92px,38%) minmax(0,1fr);align-items:start;gap:10px;width:100%!important;min-height:34px;padding:8px 0!important;border:0!important;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere}
  table.mobile-card-table td::before{content:attr(data-label);font-size:11px;font-weight:750;color:var(--muted);text-align:left;text-transform:none;letter-spacing:0}
  table.mobile-card-table td.mobile-actions-cell{display:flex!important;grid-template-columns:none;justify-content:stretch;align-items:stretch;flex-wrap:wrap;gap:8px;margin-top:5px;padding-top:12px!important;border-top:1px dashed var(--line)!important;text-align:left!important}
  table.mobile-card-table td.mobile-actions-cell::before{width:100%;flex:0 0 100%;content:'Thao tác'}
  table.mobile-card-table td.mobile-actions-cell>a,table.mobile-card-table td.mobile-actions-cell>button,table.mobile-card-table td.mobile-actions-cell>form,table.mobile-card-table td.mobile-actions-cell .btn{display:flex!important;flex:1 1 120px;justify-content:center;align-items:center;min-height:42px;margin:0!important}
  table.mobile-card-table td form.d-flex{display:flex!important;flex-wrap:wrap;gap:7px;width:100%}
  table.mobile-card-table td form.d-flex .form-control,table.mobile-card-table td form.d-flex .form-select{flex:1 1 120px;width:auto}
  table.mobile-card-table td form.d-flex .btn{flex:0 0 auto}
  .card>table.mobile-card-table{padding:0 12px 12px}
}
@media(max-width:575.98px){
  .d-flex.justify-content-between:not(.job-meta){align-items:flex-start!important}
  .d-flex.justify-content-between>.btn,.d-flex.justify-content-between>a.btn{flex:1 1 auto}
  table.mobile-card-table td{grid-template-columns:minmax(82px,34%) minmax(0,1fr)}
  table.mobile-card-table td.mobile-actions-cell>a,table.mobile-card-table td.mobile-actions-cell>button,table.mobile-card-table td.mobile-actions-cell>form{flex-basis:100%}
}

/* ===== NẠP TIỀN QR ===== */
.deposit-create-card{overflow:hidden;position:relative}.deposit-create-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-85px;top:-95px;background:linear-gradient(135deg,rgba(124,77,255,.18),rgba(239,93,168,.14));pointer-events:none}
.deposit-bank-mini{display:flex;align-items:center;gap:13px;padding:14px;border-radius:17px;background:linear-gradient(135deg,#f4f3ff,#eef8ff);border:1px solid rgba(109,93,252,.14)}.deposit-bank-mini>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#6d5dfc,#2f80ed);color:#fff}.deposit-bank-mini div{display:flex;flex-direction:column;min-width:0}.deposit-bank-mini small{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800;letter-spacing:.06em}.deposit-bank-mini strong{font-size:14px}.deposit-bank-mini em{font-size:12px;color:var(--muted);font-style:normal}
.deposit-content-preview{padding:12px 14px;border-radius:14px;background:#fff8e7;border:1px dashed #f5c451}.deposit-content-preview small,.deposit-content-preview strong{display:block}.deposit-content-preview small{font-size:10px;color:#8a6100;text-transform:uppercase;font-weight:800}.deposit-content-preview strong{margin-top:3px;font-size:12px;color:#6d4b00;word-break:break-word}
.deposit-qr-card{background:linear-gradient(145deg,#fff,#fbfaff)}.deposit-qr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.deposit-qr-layout{display:grid;grid-template-columns:minmax(230px,310px) 1fr;gap:24px;align-items:center}.deposit-qr-image{padding:12px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(44,39,91,.1);text-align:center}.deposit-qr-image img{display:block;width:100%;max-height:390px;object-fit:contain;border-radius:15px}.deposit-qr-image span{display:block;margin-top:8px;font-size:11px;font-weight:700;color:var(--muted)}.deposit-payment-info{display:grid;gap:14px}.deposit-payment-info>div:not(.deposit-warning){padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.deposit-payment-info small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;margin-bottom:4px}.deposit-big-money{font-size:28px;color:#027a48}.copy-transfer-content{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;background:transparent;text-align:left;color:var(--ink)}.copy-transfer-content strong{word-break:break-word;font-size:15px}.copy-transfer-content i{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f4f3ff;color:#6941c6;flex:0 0 auto}.deposit-warning{display:flex;gap:10px;padding:13px;border-radius:15px;background:#fff7ed;color:#9a3412;font-size:12px;line-height:1.55;border:1px solid #fed7aa}
.dark-mode .deposit-bank-mini{background:linear-gradient(135deg,#252044,#172b3b)}.dark-mode .deposit-content-preview{background:#2b2519;border-color:#6f5722}.dark-mode .deposit-content-preview small,.dark-mode .deposit-content-preview strong{color:#f4cf78}.dark-mode .deposit-qr-card{background:linear-gradient(145deg,#171928,#1d1b2c)}.dark-mode .deposit-qr-image{background:#fff}.dark-mode .deposit-warning{background:#332419;color:#fdba74;border-color:#6f3c1b}
@media(max-width:991.98px){.app-navbar .container{justify-content:flex-start;gap:10px}.app-navbar .navbar-brand{margin-right:auto}.mobile-menu-toggle{order:-1;flex:0 0 auto}.deposit-qr-layout{grid-template-columns:1fr}.deposit-qr-image{max-width:420px;margin:auto;width:100%}}
@media(max-width:575.98px){.deposit-qr-head{display:block}.deposit-qr-head .status-pill{display:inline-flex;margin-top:10px}.deposit-big-money{font-size:23px}.deposit-create-card,.deposit-qr-card{padding:18px!important}.app-navbar .navbar-brand span:nth-child(2){font-size:15px}}

/* Badge dữ liệu chưa xem / chưa xử lý */
.nav-count-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;
  padding:0 7px;margin-left:auto;border-radius:999px;background:linear-gradient(135deg,#ff3d71,#ff6b4a);
  color:#fff;font-size:10px;font-weight:800;line-height:1;box-shadow:0 7px 18px rgba(255,61,113,.28);
  flex:0 0 auto;
}
.header-count-badge{
  position:absolute;top:-6px;right:-6px;display:inline-flex;align-items:center;justify-content:center;
  min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;
  border:2px solid var(--surface);font-size:9px;font-weight:800;line-height:1;z-index:2;
}
.mobile-count-badge{
  position:absolute;top:-6px;right:-8px;display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;
  border:2px solid #fff;font-size:8px;font-weight:800;line-height:1;z-index:3;
}
.drawer-finance .nav-count-badge{margin-left:auto;background:#fff;color:#e11d48;box-shadow:none}
.mobile-finance-top .nav-count-badge{margin-left:auto;margin-right:2px}
.admin-sidebar-link .nav-count-badge,.sidebar-link .nav-count-badge,.drawer-menu-link .nav-count-badge{margin-left:auto}
.admin-sidebar-link.active .nav-count-badge,.sidebar-link.active .nav-count-badge{background:#fff;color:#ef4444;box-shadow:none}
.dark-mode .header-count-badge{border-color:#151923}.dark-mode .mobile-count-badge{border-color:#151923}
@media(max-width:767.98px){
  .mobile-nav button{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:48px;border:0;background:transparent;color:#667085;font-size:10px;font-weight:650}
  .mobile-nav button i{font-size:17px}
}

/* Badge số lượng ngay trên nút Quản lý của từng Job đã đăng */
.manage-count-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.button-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#fff;color:#dc2626;font-size:11px;font-weight:900;line-height:1;box-shadow:0 2px 8px rgba(15,23,42,.15)}
.job-needs-action{background:linear-gradient(90deg,rgba(255,241,242,.8),transparent 45%)}
@media(max-width:767.98px){
  .manage-count-button{width:100%;min-height:42px}
  .button-count-badge{min-width:23px;height:23px;font-size:12px}
}
.telegram-connect-card{background:linear-gradient(135deg,rgba(34,158,217,.10),rgba(109,93,252,.08));border:1px solid rgba(34,158,217,.16)!important}.telegram-command-box{background:#172033;color:#fff;border-radius:16px;padding:14px 16px;margin-top:12px}.telegram-command-box small{color:rgba(255,255,255,.68)}.telegram-command-box code{color:#fff;font-family:var(--app-font,"Geist",sans-serif);font-size:.95rem;overflow-wrap:anywhere}@media(max-width:575.98px){.telegram-command-box .d-flex{align-items:stretch!important}.telegram-command-box code{display:flex;align-items:center;padding:4px 0}.telegram-connect-card{padding:16px!important}}

/* ===== DARK MODE CONTRAST FIX 2026-08-05 ===== */
.dark-mode{
  color-scheme:dark;
  --bg:#090d18;
  --surface:#111827;
  --surface-2:#182235;
  --ink:#f8fafc;
  --muted:#aab4c5;
  --line:#2a364b;
  --primary-soft:#29245f;
  --shadow:0 18px 50px rgba(0,0,0,.38);
}
.dark-mode,
.dark-mode body{background:#090d18;color:var(--ink)}
.dark-mode body{background-image:radial-gradient(circle at 10% 0,rgba(109,93,252,.15),transparent 30rem),radial-gradient(circle at 95% 15%,rgba(47,128,237,.09),transparent 24rem)}
.dark-mode .app-navbar{background:rgba(10,15,27,.94);border-color:rgba(74,89,116,.48)}
.dark-mode .navbar-brand,.dark-mode h1,.dark-mode h2,.dark-mode h3,.dark-mode h4,.dark-mode h5,.dark-mode h6,
.dark-mode .panel-title,.dark-mode .section-title,.dark-mode .job-title,.dark-mode .stat-value,
.dark-mode .fw-bold,.dark-mode .fw-semibold{color:#f8fafc}
.dark-mode p,.dark-mode span,.dark-mode div,.dark-mode li,.dark-mode td{border-color:var(--line)}
.dark-mode .text-dark,.dark-mode a.text-dark{color:#eef2f7!important}
.dark-mode .text-muted,.dark-mode small.text-muted,.dark-mode .job-meta{color:#aab4c5!important}
.dark-mode a:not(.btn):not(.nav-link):not(.sidebar-link):not(.drawer-menu-link):not(.category-item):not(.mini-job){color:#aeb8ff}
.dark-mode a:not(.btn):hover{color:#d4d8ff}

.dark-mode .card,.dark-mode .surface,.dark-mode .stat-card,.dark-mode .category-item,
.dark-mode .mini-job,.dark-mode .app-sidebar,.dark-mode .admin-sidebar,.dark-mode .filter-panel,
.dark-mode .auth-card,.dark-mode .job-card,.dark-mode .hero-panel,.dark-mode .search-shell,
.dark-mode .site-drawer,.dark-mode .site-drawer-foot,.dark-mode .mobile-finance-top>a{
  background:#111827;
  border-color:#2a364b;
  color:#f8fafc;
}
.dark-mode .card-header,.dark-mode .card-footer,.dark-mode .modal-header,.dark-mode .modal-footer{
  background:#131d2d;border-color:#2a364b;color:#f8fafc
}
.dark-mode .hero-panel{background:rgba(17,24,39,.90);border-color:#35425a}
.dark-mode .hero-pro{background:linear-gradient(135deg,#221e49 0%,#111827 55%,#10283a 100%);border-color:#3b4071}
.dark-mode .hero-pro .lead{color:#bec7d5!important}
.dark-mode .eyebrow,.dark-mode .badge-soft{background:#29245f;border-color:#4a438b;color:#c9c5ff}
.dark-mode .gradient-text{background:linear-gradient(90deg,#a99fff,#d08cff,#78b7ff);-webkit-background-clip:text;background-clip:text;color:transparent}

.dark-mode .form-control,.dark-mode .form-select,.dark-mode textarea,.dark-mode input,
.dark-mode .input-group-text,.dark-mode .form-check-input{
  background:#0d1524!important;color:#f8fafc!important;border-color:#33425a!important
}
.dark-mode .form-control::placeholder,.dark-mode textarea::placeholder{color:#758198!important;opacity:1}
.dark-mode .form-control:focus,.dark-mode .form-select:focus,.dark-mode textarea:focus{
  background:#101a2c!important;border-color:#8f85ff!important;box-shadow:0 0 0 4px rgba(139,130,239,.18)!important;color:#fff!important
}
.dark-mode .form-select{color-scheme:dark}
.dark-mode .form-select option{background:#111827;color:#f8fafc}
.dark-mode label,.dark-mode .form-label{color:#dce3ec}
.dark-mode .form-text{color:#98a5b8}

.dark-mode .btn-light,.dark-mode .btn-outline-secondary{background:#1a2537;color:#eef2f7;border-color:#38475e}
.dark-mode .btn-light:hover,.dark-mode .btn-outline-secondary:hover{background:#243249;color:#fff;border-color:#52647f}
.dark-mode .btn-secondary{background:#334155;border-color:#475569;color:#fff}
.dark-mode .btn-close{filter:invert(1) grayscale(1) brightness(2)}
.dark-mode .icon-btn{color:#e5eaf1}

.dark-mode .table,.dark-mode .table-modern{--bs-table-bg:transparent;--bs-table-color:#e8edf4;--bs-table-border-color:#2a364b;color:#e8edf4}
.dark-mode .table-modern th,.dark-mode .table thead th{background:#172235!important;color:#b8c2d1!important;border-color:#334158!important}
.dark-mode .table-modern td,.dark-mode .table td{color:#e8edf4!important;border-color:#26344a!important;background:transparent}
.dark-mode .table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:#131d2c;color:#e8edf4}
.dark-mode .table-hover>tbody>tr:hover>*{--bs-table-accent-bg:#19253a;color:#fff}
.dark-mode .table-modern tbody tr:hover{background:#19253a}
.dark-mode .table-responsive{border-color:#2a364b}

.dark-mode .nav-link,.dark-mode .sidebar-link,.dark-mode .drawer-menu-link,.dark-mode .admin-nav a{color:#c9d2df!important}
.dark-mode .nav-link:hover,.dark-mode .nav-link.active,.dark-mode .sidebar-link:hover,.dark-mode .sidebar-link.active,
.dark-mode .drawer-menu-link:hover,.dark-mode .drawer-menu-link.active,.dark-mode .admin-nav a:hover,.dark-mode .admin-nav a.active{
  background:#29245f!important;color:#dcd9ff!important;border-color:#4b438c!important
}
.dark-mode .admin-nav a{background:#111827;border-color:#2a364b}
.dark-mode .navbar-collapse{background:#111827;border-color:#2a364b}
.dark-mode .mobile-menu-toggle{background:#19253a!important;color:#f8fafc!important}
.dark-mode .mobile-nav{background:rgba(13,21,36,.96);border-color:#334158;box-shadow:0 16px 45px rgba(0,0,0,.48)}
.dark-mode .mobile-nav a{color:#b7c1d0}
.dark-mode .mobile-nav a.active{color:#c5bfff}

.dark-mode .dropdown-menu{background:#111827;border-color:#334158;box-shadow:0 18px 45px rgba(0,0,0,.42)}
.dark-mode .dropdown-item{color:#dfe6ef}
.dark-mode .dropdown-item:hover,.dark-mode .dropdown-item:focus{background:#202c40;color:#fff}
.dark-mode .dropdown-divider{border-color:#2a364b}
.dark-mode .modal-content{background:#111827;color:#f8fafc;border:1px solid #35425a}
.dark-mode .offcanvas,.dark-mode .accordion-item,.dark-mode .accordion-button{background:#111827;color:#f8fafc;border-color:#2a364b}
.dark-mode .accordion-button:not(.collapsed){background:#1b2740;color:#d9d5ff;box-shadow:none}
.dark-mode .accordion-button::after{filter:invert(1)}

.dark-mode .alert{color:#eef2f7;border:1px solid transparent}
.dark-mode .alert-success{background:#103524;border-color:#1f6a48;color:#b7f7d4}
.dark-mode .alert-danger{background:#3b1620;border-color:#7c293c;color:#fecdd6}
.dark-mode .alert-warning{background:#3b2b10;border-color:#805a1d;color:#fde2a7}
.dark-mode .alert-info{background:#102e46;border-color:#236088;color:#bee5ff}
.dark-mode .status-pill{background:#253044;color:#d5dce6}
.dark-mode .status-pill.success{background:#113725;color:#75e5aa}
.dark-mode .status-pill.warning{background:#3a2b10;color:#f9d17c}
.dark-mode .status-pill.danger,.dark-mode .badge.bg-danger{background:#541b2b!important;color:#ffc7d2}
.dark-mode .badge.bg-light{background:#263248!important;color:#e6ebf2!important}
.dark-mode .progress{background:#283348}
.dark-mode hr{border-color:#354158;opacity:1}
.dark-mode code{color:#f0a9d3;background:#201827}

.dark-mode .proof-note,.dark-mode .proof-url-bar,.dark-mode .report-text,
.dark-mode .deposit-content-preview,.dark-mode .telegram-connect-card{color:#dfe6ef}
.dark-mode .proof-note,.dark-mode .proof-url-bar{background:#182235;border-color:#344258}
.dark-mode .deposit-content-preview{background:#352a14;border-color:#725a22}
.dark-mode .pagination .page-link{background:#111827;color:#c9d2df;border-color:#334158}
.dark-mode .pagination .page-link:hover,.dark-mode .pagination .active>.page-link{background:#29245f;color:#fff;border-color:#5b51a9}

@media(max-width:767.98px){
  .dark-mode .mobile-card-table tr{background:#111827;border:1px solid #2a364b;box-shadow:0 8px 24px rgba(0,0,0,.18)}
  .dark-mode .mobile-card-table td::before{color:#8e9bad}
  .dark-mode .filter-panel.mobile-drawer{background:#111827}
}

.font-preview{padding:18px;border:1px dashed var(--line);border-radius:16px;background:var(--surface-2);font-size:15px;line-height:1.7}.font-preview strong{font-size:18px}.dark-mode .font-preview{background:#1c202c}

/* Multiple proof upload */
.proof-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.proof-preview-item{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--card,#fff)}.proof-preview-media{width:58px;height:58px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:#f3f4f6;flex:0 0 58px;font-size:27px}.proof-preview-media img{width:100%;height:100%;object-fit:cover}.proof-preview-info{min-width:0;display:flex;flex-direction:column}.proof-preview-info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proof-preview-info span{font-size:12px;color:var(--muted,#6b7280)}.proof-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;padding:20px}.proof-gallery-item{border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:12px;background:var(--card,#fff)}.proof-gallery-number{font-weight:700;font-size:13px;margin-bottom:9px}.proof-gallery-item img{display:block;width:100%;height:320px;object-fit:contain;border-radius:10px;background:#f3f4f6}.proof-pdf-card{height:220px;border-radius:10px;background:#f3f4f6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:15px}.proof-pdf-card i{font-size:48px}@media(max-width:576px){.proof-gallery{grid-template-columns:1fr;padding:12px}.proof-gallery-item img{height:auto;max-height:430px}}

/* Proof image lightbox */
.proof-image-button{position:relative;display:block;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;background:#f3f4f6;cursor:zoom-in;text-align:initial}
.proof-image-button img{transition:transform .25s ease,filter .25s ease}
.proof-image-button:hover img{transform:scale(1.025);filter:brightness(.82)}
.proof-image-hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%,8px);display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:rgba(10,15,25,.78);color:#fff;font-size:12px;font-weight:700;white-space:nowrap;opacity:0;transition:.22s ease;pointer-events:none}
.proof-image-button:hover .proof-image-hint,.proof-image-button:focus-visible .proof-image-hint{opacity:1;transform:translate(-50%,0)}
.proof-image-button:focus-visible{outline:3px solid rgba(91,92,240,.28);outline-offset:3px}
.proof-pdf-card span{font-size:12px;color:var(--muted,#6b7280);font-weight:500}
.proof-lightbox{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(5,8,15,.94);backdrop-filter:blur(8px)}
.proof-lightbox.is-open{display:flex;animation:proofLightboxIn .18s ease}
.proof-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;width:min(88vw,1500px);height:88vh}
.proof-lightbox-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.5);animation:proofImageIn .2s ease}
.proof-lightbox-close,.proof-lightbox-nav{position:absolute;z-index:2;display:grid;place-items:center;border:0;background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(8px);transition:.18s ease}
.proof-lightbox-close:hover,.proof-lightbox-nav:hover{background:rgba(255,255,255,.22);transform:scale(1.05)}
.proof-lightbox-close{top:18px;right:18px;width:46px;height:46px;border-radius:50%;font-size:22px}
.proof-lightbox-nav{top:50%;transform:translateY(-50%);width:50px;height:58px;border-radius:15px;font-size:20px}
.proof-lightbox-nav:hover{transform:translateY(-50%) scale(1.05)}
.proof-lightbox-prev{left:20px}.proof-lightbox-next{right:20px}
.proof-lightbox-counter{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:rgba(0,0,0,.58);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em}
body.proof-lightbox-open{overflow:hidden}
@keyframes proofLightboxIn{from{opacity:0}to{opacity:1}}
@keyframes proofImageIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@media(max-width:768px){.proof-lightbox{padding:12px}.proof-lightbox-stage{width:100%;height:88vh}.proof-lightbox-close{top:10px;right:10px;width:42px;height:42px}.proof-lightbox-nav{width:42px;height:50px;border-radius:13px}.proof-lightbox-prev{left:8px}.proof-lightbox-next{right:8px}.proof-image-hint{display:none}}

/* Job detail presentation */
.job-detail-card{overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 55px rgba(30,41,59,.08)}
.job-detail-header{position:relative;padding:30px 32px 26px;background:linear-gradient(145deg,rgba(91,92,240,.10),rgba(139,92,246,.04) 58%,transparent);border-bottom:1px solid var(--line)}
.job-detail-header::after{content:"";position:absolute;width:180px;height:180px;right:-70px;top:-95px;border-radius:50%;background:rgba(91,92,240,.10);pointer-events:none}
.job-category-badge{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border-radius:999px;background:var(--p);color:#fff;font-size:12px;font-weight:800;letter-spacing:.035em}
.job-code{display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.75);color:var(--muted);font-size:12px;font-weight:700}
.job-detail-title{position:relative;z-index:1;margin:0 0 22px;font-size:clamp(26px,4vw,39px);line-height:1.18;font-weight:850;letter-spacing:-.035em;color:var(--text)}
.job-author-card{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(91,92,240,.14);border-radius:17px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px)}
.job-author-avatar{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:linear-gradient(145deg,var(--p),var(--p2));color:#fff;font-size:18px;font-weight:850;box-shadow:0 8px 20px rgba(91,92,240,.24)}
.job-author-info{min-width:0}.job-author-label{font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.075em;color:var(--muted);font-weight:700}.job-author-name{margin-top:3px;font-size:15px;font-weight:800;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-rating-block{margin-left:auto;display:flex;align-items:center;gap:11px;padding-left:16px;border-left:1px solid var(--line)}
.job-rating-stars{display:flex;gap:3px;color:#f59e0b;font-size:13px}.job-rating-text{display:flex;flex-direction:column;line-height:1.2}.job-rating-text strong{font-size:14px}.job-rating-text span{margin-top:3px;color:var(--muted);font-size:11px}
.job-content-sections{padding:30px 32px 34px}
.job-content-section{margin-bottom:28px;padding:0 0 28px;border-bottom:1px solid var(--line)}.job-content-section:last-child{padding-bottom:0;border-bottom:0}
.job-section-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:15px}.job-section-number{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:rgba(91,92,240,.10);color:var(--p);font-size:12px;font-weight:850;letter-spacing:.04em}.job-section-heading h2{margin:0;font-size:18px;line-height:1.35;font-weight:850;letter-spacing:-.015em}.job-section-heading p{margin:3px 0 0;color:var(--muted);font-size:12px}
.job-section-body{padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2,#f8fafc);font-size:15px;line-height:1.85;color:var(--text);overflow-wrap:anywhere;white-space:normal}
.job-instruction-body{border-left:4px solid var(--p)}
.job-reward-card{border:1px solid var(--line);box-shadow:0 16px 45px rgba(30,41,59,.08)}.job-reward-value{margin-top:5px;letter-spacing:-.035em}.job-meta-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.job-meta-row span{color:var(--muted);font-size:13px}.job-meta-row span i{width:18px;color:var(--p)}.job-meta-row b{font-size:14px}
.dark-mode .job-detail-header{background:linear-gradient(145deg,rgba(91,92,240,.22),rgba(139,92,246,.08) 58%,transparent)}
.dark-mode .job-code,.dark-mode .job-author-card{background:rgba(17,24,39,.82);border-color:#35425a}.dark-mode .job-section-body{background:#182235;border-color:#344258}.dark-mode .job-author-card{box-shadow:none}
@media(max-width:767.98px){.job-detail-header{padding:22px 19px 20px}.job-content-sections{padding:22px 19px 25px}.job-author-card{align-items:flex-start;flex-wrap:wrap}.job-rating-block{width:100%;margin-left:58px;padding:10px 0 0;border-left:0;border-top:1px solid var(--line)}.job-detail-title{margin-bottom:18px}.job-section-heading p{display:none}.job-section-body{padding:15px;font-size:14px;line-height:1.8}.job-content-section{margin-bottom:23px;padding-bottom:23px}}

/* Job detail visibility and category contrast fix */
.job-category-badge{color:#fff!important;opacity:1!important;text-shadow:0 1px 2px rgba(0,0,0,.22);-webkit-font-smoothing:antialiased}
.job-content-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.dark-mode .job-category-badge{color:#fff!important;background:linear-gradient(135deg,#6d5dfc,#8b5cf6)}

/* Deposit auto-sync page */
.deposit-page-modern{min-width:0}
.deposit-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.deposit-page-head h1{font-size:clamp(25px,3vw,34px);font-weight:800;letter-spacing:-.035em;margin:5px 0 6px}.deposit-page-head p{margin:0;color:var(--muted);max-width:720px}
.deposit-alert{padding:13px 16px;border-radius:14px;font-size:13px;font-weight:650;margin-bottom:16px;border:1px solid}.deposit-alert-success{background:#ecfdf3;color:#067647;border-color:#abefc6}.deposit-alert-error{background:#fef3f2;color:#b42318;border-color:#fecdca}
.balance-panel{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-radius:20px;background:linear-gradient(135deg,#17172b,#343268);color:#fff;box-shadow:0 18px 45px rgba(31,29,70,.16);margin-bottom:18px}.balance-panel:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-65px;top:-85px;background:rgba(255,255,255,.08)}.balance-panel span{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.75;position:relative;z-index:1}.balance-panel strong{font-size:clamp(24px,4vw,36px);letter-spacing:-.04em;position:relative;z-index:1}
.bank-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:18px;align-items:stretch;margin-bottom:18px}.qr-card,.bank-info{background:var(--card,#fff);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 35px rgba(30,27,75,.06)}.qr-card{padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center}.qr-title{font-size:14px;font-weight:800;margin-bottom:13px}.qr-card img{display:block;width:min(100%,315px);aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:18px;border:1px solid #ececf2;padding:8px}.qr-caption{font-size:11px;line-height:1.5;color:var(--muted);margin-top:11px;max-width:280px}
.bank-info{padding:8px 18px 18px;display:flex;flex-direction:column}.bank-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 2px;border-bottom:1px solid var(--line)}.bank-row span{font-size:12px;color:var(--muted);font-weight:650}.bank-row b{text-align:right;font-size:14px;word-break:break-word}.bank-row.important{margin:12px -8px 14px;padding:15px 12px;border:1px solid rgba(109,93,252,.18);background:linear-gradient(135deg,rgba(109,93,252,.08),rgba(47,128,237,.06));border-radius:15px}.bank-row.important span{color:#675bd2}.deposit-code{color:#5145cd;font-size:15px!important}.copy-value{cursor:pointer}.copy-btn{margin-top:auto;min-height:46px;font-weight:750}
.deposit-note{padding:17px 18px;border:1px solid #fedf89;background:#fffaeb;border-radius:17px;color:#7a4d00;margin-bottom:14px}.deposit-note>b{display:block;font-size:13px;margin-bottom:6px}.deposit-note p{font-size:12px;line-height:1.65;margin:4px 0}.deposit-note a{font-weight:750;color:inherit}.deposit-note strong{font-weight:800;word-break:break-word}
.refresh-form{display:flex;justify-content:flex-end;margin-bottom:20px}.refresh-form .btn{font-size:12px;font-weight:750;border:1px solid var(--line)}
.deposit-history-card{overflow:hidden}.deposit-history-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 20px 10px}.deposit-history-head h2{font-size:20px;font-weight:800;margin:3px 0 0;letter-spacing:-.02em}.deposit-history-table{margin-bottom:0}.empty-cell{text-align:center!important;color:var(--muted)!important;padding:32px!important}
.dark-mode .deposit-alert-success{background:#102c22;color:#75e0b1;border-color:#245d48}.dark-mode .deposit-alert-error{background:#331d1d;color:#fda29b;border-color:#69302e}.dark-mode .balance-panel{background:linear-gradient(135deg,#24243d,#3c3970)}.dark-mode .qr-card,.dark-mode .bank-info{background:#1a1c2b}.dark-mode .bank-row.important{background:linear-gradient(135deg,rgba(109,93,252,.15),rgba(47,128,237,.10));border-color:rgba(143,131,255,.25)}.dark-mode .bank-row.important span,.dark-mode .deposit-code{color:#b7afff}.dark-mode .deposit-note{background:#302817;color:#f5d98a;border-color:#665221}
@media(max-width:991.98px){.bank-layout{grid-template-columns:1fr}.qr-card{max-width:none}.qr-card img{width:min(100%,340px)}}
@media(max-width:575.98px){.deposit-page-head{display:block}.balance-panel{padding:17px 16px;border-radius:17px;align-items:flex-start;flex-direction:column;gap:4px}.bank-layout{gap:13px}.qr-card,.bank-info{border-radius:18px}.qr-card{padding:15px}.bank-info{padding:4px 14px 15px}.bank-row{align-items:flex-start;padding:14px 0}.bank-row span{max-width:42%}.bank-row b{max-width:58%}.bank-row.important{margin:10px -5px 12px;padding:13px 9px}.deposit-history-head{padding:17px 15px 8px}.refresh-form .btn{width:100%}}

/* Compact Job search/filter */
.job-filter-compact{padding:12px 14px;border-radius:18px;box-shadow:0 10px 28px rgba(16,24,40,.06)}
.job-filter-compact form{align-items:end}
.job-filter-compact .row{--bs-gutter-x:.65rem;--bs-gutter-y:.65rem}
.job-filter-compact label{font-size:11px;margin-bottom:4px;color:var(--muted);font-weight:700}
.job-filter-compact .form-control,.job-filter-compact .form-select{min-height:38px;padding:.48rem .72rem;border-radius:11px;font-size:13px}
.job-filter-compact .form-control.ps-5{padding-left:2.35rem!important}
.job-filter-compact .position-relative>i{left:14px!important;font-size:12px}
.job-filter-compact .btn{min-height:38px;padding:.48rem .7rem;border-radius:11px}
@media(min-width:768px){
  .job-filter-compact{max-width:980px}
  .job-filter-compact .col-md-6{flex:0 0 46%;max-width:46%}
  .job-filter-compact .col-md-3{flex:0 0 25%;max-width:25%}
  .job-filter-compact .col-md-2{flex:0 0 20%;max-width:20%}
  .job-filter-compact .col-md-1{flex:0 0 9%;max-width:9%}
}
@media(max-width:767.98px){
  .job-filter-compact.mobile-drawer{padding:24px 16px}
  .job-filter-compact label{font-size:12px}
  .job-filter-compact .form-control,.job-filter-compact .form-select,.job-filter-compact .btn{min-height:42px}
}

/* Compact homepage job search */
.home-search{max-width:560px;padding:5px 6px;border-radius:14px;box-shadow:0 10px 26px rgba(52,64,84,.10)}
.home-search>i{font-size:13px;margin-left:8px!important}
.home-search .form-control{min-height:40px;padding:.45rem .65rem;font-size:14px}
.home-search .btn{min-height:40px;padding:.5rem 1rem!important;border-radius:10px;white-space:nowrap;font-size:13px}
@media(max-width:767.98px){.home-search{display:flex!important;max-width:100%;padding:5px}.home-search .form-control{min-width:0;font-size:13px}.home-search .btn{width:auto!important;margin-top:0!important;padding:.5rem .8rem!important}.home-search>i{margin-left:6px!important}}

/* Mobile footer - compact and balanced above fixed navigation */
@media(max-width:767.98px){
  .app-footer{
    display:block!important;
    margin-top:14px;
    padding:18px 0 80px!important;
    background:var(--surface);
    border-top:1px solid var(--line);
    box-shadow:none;
    backdrop-filter:none;
  }
  .app-footer .container{padding-left:20px;padding-right:20px}
  .app-footer .row{gap:0!important;text-align:center}
  .app-footer .col-md-6{width:100%;padding:0}
  .app-footer .fw-bold.fs-5{font-size:15px!important;font-weight:750!important;letter-spacing:-.01em}
  .app-footer .text-muted{font-size:11.5px;line-height:1.55;margin-top:5px!important}
  .app-footer .col-md-6.text-md-end{margin-top:8px;opacity:.85}
}

/* Mobile footer: remove excessive empty space before bottom navigation */
@media(max-width:767.98px){
  body{padding-bottom:0!important}
  .app-main{min-height:auto}
  .app-footer{
    margin-top:12px!important;
    padding:14px 0 76px!important;
  }
  .app-footer .row{
    transform:translateY(42px);
  }
}

/* Final mobile footer spacing fix: keep footer compact and place it just above fixed nav */
@media(max-width:767.98px){
  body{padding-bottom:0!important}
  .app-main{min-height:auto!important}
  .app-footer{
    display:block!important;
    margin-top:12px!important;
    margin-bottom:82px!important;
    padding:12px 0!important;
  }
  .app-footer .row{
    transform:none!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
  .app-footer .col-md-6.text-md-end{margin-top:6px!important}
}

/* Withdraw Pro */
.withdraw-page{min-width:0}.withdraw-hero{display:flex;justify-content:space-between;align-items:stretch;gap:20px;margin-bottom:24px}.withdraw-hero>div:first-child{padding:8px 0}.withdraw-eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--primary,#6d5dfc);margin-bottom:7px}.withdraw-hero h1{font-size:30px;font-weight:800;margin:0 0 7px}.withdraw-hero p{margin:0;color:var(--muted,#6b7280)}.withdraw-balance-card{min-width:280px;padding:20px 22px;border-radius:20px;background:linear-gradient(135deg,rgba(109,93,252,.12),rgba(74,144,245,.08));border:1px solid rgba(109,93,252,.16);display:flex;flex-direction:column;justify-content:center}.withdraw-balance-card span,.withdraw-balance-card small{color:var(--muted,#6b7280);font-size:13px}.withdraw-balance-card strong{font-size:28px;line-height:1.25;margin:4px 0;font-weight:800}.withdraw-form-card,.withdraw-history-card{border-radius:22px;padding:22px!important}.withdraw-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.withdraw-card-head span:first-child{font-size:12px;color:var(--muted,#6b7280);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.withdraw-card-head h3{font-size:20px;font-weight:800;margin:3px 0 0}.withdraw-min,.withdraw-count{font-size:12px!important;font-weight:700!important;padding:7px 10px;border-radius:999px;background:rgba(109,93,252,.08);color:var(--primary,#6d5dfc)!important;white-space:nowrap}.withdraw-label,.withdraw-field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.withdraw-amount-wrap{position:relative}.withdraw-amount-wrap input{height:54px;font-size:21px;font-weight:800;padding-right:42px;border-radius:14px}.withdraw-amount-wrap>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--muted,#6b7280)}.withdraw-quick-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:9px 0 18px}.withdraw-quick-amounts button{border:1px solid var(--line,#e5e7eb);background:var(--card,#fff);border-radius:10px;padding:8px 4px;font-size:12px;font-weight:700;color:inherit}.withdraw-quick-amounts button:hover{border-color:var(--primary,#6d5dfc);color:var(--primary,#6d5dfc)}.withdraw-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.withdraw-field.full{grid-column:1/-1}.withdraw-field .form-control{height:47px;border-radius:12px}.withdraw-summary{margin:20px 0 14px;padding:15px 16px;border-radius:16px;background:rgba(127,127,127,.055);border:1px solid var(--line,#e5e7eb)}.withdraw-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px}.withdraw-summary span{color:var(--muted,#6b7280)}.withdraw-summary .total{border-top:1px dashed var(--line,#e5e7eb);margin-top:7px;padding-top:12px}.withdraw-summary .total strong{font-size:17px}.withdraw-summary .code-preview{border-top:1px dashed var(--line,#e5e7eb);margin-top:7px;padding-top:12px}.withdraw-summary .code-preview b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.withdraw-submit{width:100%;height:48px;border-radius:13px;font-weight:800}.withdraw-security-note{font-size:12px;color:var(--muted,#6b7280);line-height:1.55;margin:12px 2px 0;text-align:center}.withdraw-list{display:flex;flex-direction:column;gap:11px}.withdraw-item{border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:15px 16px}.withdraw-item-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.withdraw-item-top>div{display:flex;flex-direction:column;gap:2px}.withdraw-code,.admin-withdraw-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.withdraw-item-top small{color:var(--muted,#6b7280);font-size:11px}.withdraw-status{font-size:11px;font-weight:800;border-radius:999px;padding:6px 9px;white-space:nowrap}.withdraw-pending{background:#fff7dd;color:#9a6700}.withdraw-success{background:#e8f8ef;color:#137a43}.withdraw-rejected{background:#fff0f0;color:#b42318}.withdraw-item-main{display:grid;grid-template-columns:1fr .7fr 1.6fr;gap:14px;margin-top:14px;padding-top:13px;border-top:1px dashed var(--line,#e5e7eb)}.withdraw-item-main>div{display:flex;flex-direction:column;gap:2px;min-width:0}.withdraw-item-main span,.withdraw-bank-code span{font-size:11px;color:var(--muted,#6b7280)}.withdraw-item-main strong{font-size:14px}.withdraw-item-main small{font-size:11px;color:var(--muted,#6b7280);overflow-wrap:anywhere}.withdraw-bank-code,.withdraw-reason{margin-top:11px;padding:10px 12px;border-radius:11px;background:rgba(127,127,127,.055);font-size:12px}.withdraw-bank-code{display:flex;justify-content:space-between;gap:12px}.withdraw-bank-code b{overflow-wrap:anywhere}.withdraw-reason{color:#a13b32}.withdraw-empty{text-align:center;padding:46px 15px;color:var(--muted,#6b7280)}.withdraw-empty div{font-weight:700;color:inherit;margin-bottom:4px}.admin-withdraw-card .table td{vertical-align:middle}
@media(max-width:767.98px){.withdraw-hero{display:block;margin-bottom:16px}.withdraw-hero>div:first-child{padding:0 2px 14px}.withdraw-hero h1{font-size:24px}.withdraw-hero p{font-size:13px}.withdraw-balance-card{min-width:0;padding:16px 18px;border-radius:17px}.withdraw-balance-card strong{font-size:24px}.withdraw-form-card,.withdraw-history-card{padding:16px!important;border-radius:18px}.withdraw-card-head{margin-bottom:15px}.withdraw-card-head h3{font-size:18px}.withdraw-quick-amounts{grid-template-columns:repeat(2,1fr)}.withdraw-fields-grid{grid-template-columns:1fr}.withdraw-field.full{grid-column:auto}.withdraw-item-main{grid-template-columns:1fr 1fr}.withdraw-item-main>div:last-child{grid-column:1/-1}.withdraw-item{padding:13px}.withdraw-bank-code{display:block}.withdraw-bank-code b{display:block;margin-top:3px}.withdraw-page .row{--bs-gutter-y:14px}}

/* VietQR Compact for withdrawals */
.withdraw-vietqr-preview{margin:16px 0 0;padding:14px;border:1px solid var(--line,#e5e7eb);border-radius:16px;background:rgba(109,93,252,.035);text-align:center}
.withdraw-vietqr-preview[hidden]{display:none!important}.withdraw-vietqr-head{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;margin-bottom:10px}.withdraw-vietqr-head>div{display:flex;flex-direction:column}.withdraw-vietqr-head span{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--primary,#6d5dfc)}.withdraw-vietqr-head b{font-size:13px}.withdraw-vietqr-head small{font-size:10px;color:var(--muted,#6b7280)}.withdraw-vietqr-preview img{display:block;width:min(100%,250px);max-height:300px;object-fit:contain;margin:0 auto;border-radius:13px;background:#fff}.withdraw-vietqr-preview p{font-size:10.5px;line-height:1.5;color:var(--muted,#6b7280);margin:9px auto 0;max-width:360px}.vietqr-modal .modal-header small{font-size:10px;font-weight:800;letter-spacing:.09em;color:var(--primary,#6d5dfc)}.vietqr-modal .modal-header h5{margin-top:2px}.admin-vietqr-box{border:1px solid var(--line,#e5e7eb);border-radius:18px;padding:10px;background:#fff;display:inline-block}.admin-vietqr-box img{display:block;width:min(100%,310px);max-height:370px;object-fit:contain}.admin-vietqr-detail{margin-top:14px;border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:9px 13px;text-align:left}.admin-vietqr-detail>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:6px 0;font-size:12px}.admin-vietqr-detail span{color:var(--muted,#6b7280)}.admin-vietqr-detail b{text-align:right;overflow-wrap:anywhere}.admin-vietqr-note{font-size:11px;color:var(--muted,#6b7280);margin:11px 0 0}.admin-vietqr-mini{text-align:center;margin-bottom:12px}.admin-vietqr-mini img{width:min(100%,220px);max-height:260px;object-fit:contain;border-radius:13px;background:#fff;border:1px solid var(--line,#e5e7eb);padding:6px}
@media(max-width:575.98px){.withdraw-vietqr-head{display:block}.withdraw-vietqr-head small{display:block;margin-top:3px}.withdraw-vietqr-preview img{width:min(100%,220px)}.admin-vietqr-box img{width:min(100%,270px)}.admin-vietqr-detail>div{align-items:flex-start}.admin-vietqr-detail b{max-width:62%}}

/* Site announcement popup */
.site-announcement-modal{--popup-radius:22px}
.site-announcement-modal .modal-dialog{max-width:520px;padding:14px}
.site-announcement-modal .modal-content{position:relative;border:1px solid rgba(91,92,240,.14);border-radius:var(--popup-radius);padding:0;box-shadow:0 28px 90px rgba(17,24,39,.22);overflow:hidden;background:var(--surface,#fff)}
.site-popup-topline{height:4px;background:linear-gradient(90deg,var(--primary,#635bff),var(--primary-2,#8b5cf6))}
.site-popup-body{padding:27px 28px 8px}
.site-popup-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid var(--line,#e5e7eb);border-radius:50%;background:var(--surface,#fff);color:var(--muted,#667085);display:grid;place-items:center;z-index:3;transition:.18s;box-shadow:0 5px 18px rgba(17,24,39,.08)}
.site-popup-close:hover{color:var(--ink,#101828);transform:scale(1.04)}
.site-popup-title{font-size:22px;font-weight:800;letter-spacing:-.025em;margin:0 50px 12px 0;color:var(--ink,#101828);line-height:1.25}
.site-popup-content{font-size:14px;line-height:1.72;color:var(--muted,#667085);white-space:normal;overflow-wrap:anywhere;max-height:min(52vh,420px);overflow:auto;padding-right:2px}
.site-popup-content>:first-child{margin-top:0}.site-popup-content>:last-child{margin-bottom:0}
.site-popup-content p{margin:0 0 10px}.site-popup-content ul,.site-popup-content ol{padding-left:20px;margin:8px 0 12px}.site-popup-content li+li{margin-top:4px}.site-popup-content a{color:var(--primary,#635bff);font-weight:650;text-decoration:none}.site-popup-content a:hover{text-decoration:underline}.site-popup-content img{display:block;max-width:100%;height:auto;border-radius:14px;margin:12px auto}.site-popup-content hr{border:0;border-top:1px solid var(--line,#e5e7eb);margin:16px 0}.site-popup-content h1,.site-popup-content h2,.site-popup-content h3,.site-popup-content h4,.site-popup-content h5,.site-popup-content h6{color:var(--ink,#101828);font-weight:800;line-height:1.3;margin:14px 0 8px}.site-popup-content code{font-size:.92em;padding:2px 6px;border-radius:6px;background:var(--surface-2,#f4f5f7)}
.site-popup-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:18px;padding:16px 28px 22px;border-top:1px solid var(--line,#e5e7eb);background:rgba(127,127,127,.025)}
.site-popup-actions .btn{min-width:105px;border-radius:12px;font-weight:700}
.dark-mode .site-announcement-modal .modal-content{background:#151923;border-color:#2d3341}.dark-mode .site-popup-close{background:#1b202b;border-color:#313846;color:#b7beca}.dark-mode .site-popup-content code{background:#1c202c}
@media(max-width:575.98px){.site-announcement-modal{--popup-radius:20px}.site-announcement-modal .modal-dialog{margin:auto;padding:12px;width:auto;min-height:100%;display:flex;align-items:center}.site-announcement-modal .modal-content{max-height:calc(100dvh - 24px);border-radius:20px;box-shadow:0 20px 60px rgba(17,24,39,.26)}.site-popup-topline{height:3px}.site-popup-body{padding:22px 18px 6px}.site-popup-close{right:12px;top:12px;width:34px;height:34px}.site-popup-title{font-size:19px;margin-right:44px;margin-bottom:10px}.site-popup-content{font-size:13.5px;line-height:1.65;max-height:55dvh}.site-popup-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px;padding:13px 18px 16px}.site-popup-actions .btn{width:100%;height:44px}.site-popup-content img{border-radius:11px}}


/* Job detail polish: category highlight + real avatar */
.job-category-badge{background:linear-gradient(135deg,#ff7a18,#ffb347)!important;color:#fff!important;box-shadow:0 6px 18px rgba(255,122,24,.24);border:1px solid rgba(255,255,255,.28)}
.job-author-avatar{overflow:hidden}
.job-author-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.dark-mode .job-category-badge{background:linear-gradient(135deg,#ff7a18,#ffb347)!important;color:#fff!important}

/* 2026-08-09: Job detail contrast + avatar reliability */
.job-category-badge{
  background:#5b5cf0!important;
  color:#ffffff!important;
  border:1px solid #4d4ee0!important;
  text-shadow:none!important;
  opacity:1!important;
  font-weight:800!important;
  box-shadow:0 6px 16px rgba(91,92,240,.22)!important;
}
.job-author-avatar{position:relative;overflow:hidden;background:linear-gradient(135deg,#635bff,#8b5cf6)!important;color:#fff!important}
.job-author-avatar .job-avatar-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:850;z-index:1}
.job-author-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:2;background:transparent}
.dark-mode .job-category-badge{background:#7367ff!important;color:#fff!important;border-color:#6558ef!important}

/* Pinned Job highlights */
.job-card-pinned{position:relative;border-color:#cfcaff;box-shadow:0 18px 50px rgba(99,91,255,.12)}
.job-pin-badge{position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff7e6;color:#b45309;border:1px solid #fde3a7;font-size:11px;font-weight:800;box-shadow:0 6px 18px rgba(180,83,9,.10)}
.job-card-pinned .reward{margin-top:34px}
.pin-inline{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:6px;border-radius:7px;background:#fff7e6;color:#b45309;font-size:10px;vertical-align:1px}
.mini-job-pinned{border-color:#d9d4ff;background:linear-gradient(90deg,#fbfaff,#fff)}
.dark-mode .job-pin-badge,.dark-mode .pin-inline{background:#3a2d16;color:#fbbf24;border-color:#5a421b}
.dark-mode .mini-job-pinned{background:linear-gradient(90deg,#1d1a33,#151923);border-color:#4a427b}
@media(max-width:767.98px){.job-pin-badge{top:12px;right:12px;padding:5px 8px}.job-card-pinned .reward{margin-top:30px}}

/* Footer 3 cột + trang chính sách */
.app-footer{padding:38px 0 22px;margin-top:44px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(180px,.75fr) minmax(220px,.9fr);gap:38px;align-items:start}
.footer-heading{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:13px;letter-spacing:-.01em}
.footer-brand-title{font-size:18px;margin-bottom:8px}
.footer-desc{color:var(--muted);line-height:1.65;max-width:420px}
.footer-section{display:flex;flex-direction:column;align-items:flex-start}
.footer-link{display:inline-flex;color:var(--muted);text-decoration:none;font-weight:600;padding:5px 0;transition:.18s}
.footer-link:hover{color:var(--primary);transform:translateX(2px)}
.footer-contact{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;width:100%;padding:5px 0;color:var(--ink);text-decoration:none;line-height:1.45}
.footer-contact span{color:var(--muted);font-size:12px;font-weight:650}
.footer-contact strong{font-size:13px;font-weight:700;overflow-wrap:anywhere}
a.footer-contact:hover strong{color:var(--primary)}
.footer-bottom{border-top:1px solid var(--line);margin-top:26px;padding-top:16px;color:var(--muted);font-size:12px;text-align:center}
.legal-hero{padding:38px 42px;background:linear-gradient(135deg,#f4f2ff,#f8fbff);border-color:#e7e4ff}
.legal-hero h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:850;letter-spacing:-.045em;margin:16px 0 10px}
.legal-hero p{max-width:820px;color:var(--muted);font-size:15px;line-height:1.75;margin:0}
.legal-page{padding:40px 42px}
.legal-section{padding:0 0 26px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.legal-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-section h2{font-size:19px;font-weight:800;margin:0 0 10px;letter-spacing:-.02em}
.legal-section p,.legal-mini p{color:var(--muted);line-height:1.8;margin:0}
.legal-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 28px}
.legal-mini{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}
.legal-mini h3{font-size:16px;font-weight:800;margin:0 0 8px}
.dark-mode .legal-hero{background:linear-gradient(135deg,#201d45,#151923);border-color:#292e3a}
@media(max-width:767.98px){
  .app-footer{display:block!important;padding:24px 0 16px!important;margin-top:28px!important}
  .footer-grid{grid-template-columns:1fr;gap:22px;text-align:left}
  .footer-brand,.footer-section{align-items:flex-start!important;text-align:left!important}
  .footer-desc{font-size:12px;line-height:1.6}
  .footer-heading{font-size:14px;margin-bottom:8px}
  .footer-brand-title{font-size:16px}
  .footer-link{font-size:12.5px;padding:4px 0}
  .footer-contact{grid-template-columns:68px minmax(0,1fr);font-size:12.5px;padding:4px 0}
  .footer-bottom{margin-top:18px;padding-top:12px;font-size:10.5px;line-height:1.5;padding-bottom:2px}
  .legal-hero{padding:26px 20px}
  .legal-hero h1{font-size:2rem}
  .legal-page{padding:24px 20px}
  .legal-section{padding-bottom:20px;margin-bottom:20px}
  .legal-section h2{font-size:16px}
  .legal-columns{grid-template-columns:1fr;gap:12px}
  .legal-mini{padding:18px}
}
