/* ===== DASHBOARD SHELL ===== */
.dash-body{margin:0; background:var(--paper, #F6F5F3); font-family:var(--font-body, 'Inter', sans-serif);}
.dash-shell{display:flex; min-height:100vh;}

.dash-sidebar{width:230px; background:var(--navy-deep, #1B1842); flex-shrink:0; padding:22px 16px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; overflow-y:auto;}
.dash-logo{display:flex; align-items:center; gap:9px; flex-wrap:nowrap; white-space:nowrap; line-height:1; font-family:var(--font-display, 'Poppins', sans-serif); font-weight:700; font-size:18px; color:#fff; padding:0 8px 24px; margin-bottom:8px; border-bottom:1px solid rgba(255,255,255,.08);}
.dash-nav-label{font-family:var(--font-mono, monospace); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:#5c6b81; padding:0 10px; margin:14px 0 8px;}
.dash-nav-link{display:flex; align-items:center; gap:11px; padding:10px 10px; border-radius:7px; color:#b7c2d1; font-size:13.5px; font-weight:500; margin-bottom:2px; transition:.15s;}
.dash-nav-link svg{width:17px; height:17px; flex-shrink:0;}
.dash-nav-link:hover{background:rgba(255,255,255,.06); color:#fff;}
.dash-nav-link.active{background:var(--orange, #F2884B); color:#fff;}

.dash-main{flex:1; min-width:0; display:flex; flex-direction:column;}
.dash-topbar{background:#fff; border-bottom:1px solid var(--line, #E7E4DE); padding:16px 28px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:10;}
.dash-menu-btn{display:none; background:none; border:none; color:var(--navy, #2A245E); cursor:pointer;}
.dash-topbar-title{font-family:var(--font-display, 'Poppins', sans-serif); font-weight:700; font-size:17px; color:var(--navy, #2A245E);}
.dash-topbar-user{display:flex; align-items:center; gap:16px;}
.dash-back-link{font-size:13px; color:var(--muted, #6B7684); font-weight:500;}
.dash-back-link:hover{color:var(--navy, #2A245E);}
.dash-avatar{width:34px; height:34px; border-radius:50%; background:var(--navy, #2A245E); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; font-family:var(--font-display, 'Poppins', sans-serif);}

.dash-content{padding:28px; max-width:1180px;}

.dash-alert{padding:12px 16px; border-radius:8px; margin-bottom:20px; font-size:13.5px;}
.dash-alert-success{background:#e8f6ee; border:1px solid #b7e3c7; color:#1a7a3f;}
.dash-alert-error{background:#fdecea; border:1px solid #f5c2c0; color:#a12622;}

/* ===== STAT CARDS ===== */
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:32px;}
.stat-card{background:#fff; border:1px solid var(--line, #E7E4DE); border-radius:12px; padding:20px;}
.stat-card .stat-label{font-family:var(--font-mono, monospace); font-size:10.5px; color:var(--muted, #6B7684); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; display:block;}
.stat-card .stat-value{font-family:var(--font-mono, monospace); font-size:26px; font-weight:600; color:var(--navy, #2A245E);}
.stat-card .stat-sub{font-size:12px; color:var(--muted, #6B7684); margin-top:4px;}

/* ===== PANEL / CARD ===== */
.dash-panel{background:#fff; border:1px solid var(--line, #E7E4DE); border-radius:12px; padding:22px; margin-bottom:20px;}
.dash-panel-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:18px;}
.dash-panel-head h3{font-size:16px; font-weight:700; color:var(--navy, #2A245E); margin:0;}
.dash-panel-head a{font-size:13px; font-weight:600; color:var(--orange, #F2884B);}

/* ===== TABLE ===== */
.dash-table{width:100%; border-collapse:collapse;}
.dash-table th{text-align:left; font-family:var(--font-mono, monospace); font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted, #6B7684); padding:0 0 10px; border-bottom:1px solid var(--line, #E7E4DE); font-weight:600;}
.dash-table td{padding:13px 0; border-bottom:1px solid var(--line, #E7E4DE); font-size:13.5px; color:var(--ink, #16202C);}
.dash-table tr:last-child td{border-bottom:none;}

/* ===== BADGES ===== */
.badge{display:inline-block; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:700; font-family:var(--font-mono, monospace);}
.badge-green{background:#e8f6ee; color:#1a7a3f;}
.badge-orange{background:#fef1e8; color:#c25e21;}
.badge-gray{background:#eceff1; color:#5c6b81;}
.badge-red{background:#fdecea; color:#a12622;}

/* ===== FORM ELEMENTS IN DASHBOARD ===== */
.dash-form-group{margin-bottom:16px;}
.dash-form-group label{font-weight:600; font-size:13px; display:block; margin-bottom:6px; color:var(--navy, #2A245E);}
.dash-form-group input, .dash-form-group select, .dash-form-group textarea{
  width:100%; padding:10px 13px; border:1px solid var(--line, #E7E4DE); border-radius:8px; font-size:13.5px; font-family:inherit;}
.dash-btn{background:var(--orange, #F2884B); color:#fff; padding:10px 20px; border-radius:8px; font-weight:600; font-size:13.5px; border:none; cursor:pointer; display:inline-block;}
.dash-btn:hover{background:#dd7038;}
.dash-btn-outline{background:none; border:1px solid var(--line, #E7E4DE); color:var(--navy, #2A245E); padding:9px 19px; border-radius:8px; font-weight:600; font-size:13.5px; cursor:pointer;}
.dash-btn-danger{background:none; border:none; color:#c0392b; font-size:13px; cursor:pointer;}

.quick-links{display:flex; gap:12px; flex-wrap:wrap;}

@media (max-width: 900px){
  .dash-sidebar{position:fixed; left:-240px; top:0; z-index:100; transition:left .2s; box-shadow:10px 0 30px rgba(0,0,0,.2);}
  .dash-sidebar.open{left:0;}
  .dash-menu-btn{display:block;}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .dash-content{padding:18px;}
}

/* ===== DANGER ZONE ===== */
.danger-zone{border-color:#f0c9c6;}
.danger-zone h3{font-size:16px;}

/* ============================================================
   DASHBOARD RESPONSIVE
   ============================================================ */

/* Tablet landscape */
@media (max-width:1024px){
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .dash-content{padding:22px;}
}

/* Tablet portrait / large phone — sidebar becomes a drawer */
@media (max-width:900px){
  .dash-sidebar{position:fixed;left:-250px;top:0;bottom:0;width:240px;z-index:120;
    transition:left .22s ease;box-shadow:12px 0 34px rgba(0,0,0,.24);}
  .dash-sidebar.open{left:0;}
  .dash-menu-btn{display:block;}
  .dash-topbar{gap:12px;}
  .dash-topbar-title{font-size:15.5px;}
  .dash-back-link{display:none;}

  /* Tables scroll sideways instead of squashing or overflowing the page */
  .dash-panel{overflow-x:auto;}
  .dash-table{min-width:520px;}
}

/* Phone */
@media (max-width:600px){
  .dash-content{padding:14px;}
  .dash-topbar{padding:13px 16px;}
  .stat-grid{grid-template-columns:1fr;gap:12px;}
  .stat-card{padding:16px;}
  .stat-card .stat-value{font-size:22px;}
  .dash-panel{padding:18px;border-radius:10px;}
  .dash-panel-head{flex-direction:column;align-items:flex-start;gap:8px;}
  .quick-links{flex-direction:column;}
  .quick-links a,.quick-links button{width:100%;text-align:center;}
  .dash-form-group input,.dash-form-group select,.dash-form-group textarea{font-size:16px;} /* 16px stops iOS auto-zoom on focus */
  .dash-btn,.dash-btn-outline{width:100%;text-align:center;}
  .dash-table{min-width:460px;font-size:12.5px;}

  /* Multi-column form rows collapse to single column */
  .dash-panel form > div[style*="grid-template-columns"]{grid-template-columns:1fr!important;}
}

/* Backdrop behind the mobile sidebar drawer */
.dash-backdrop{display:none;}
[x-cloak]{display:none!important;}
@media (max-width:900px){
  .dash-backdrop{display:block;position:fixed;inset:0;background:rgba(18,35,58,.5);z-index:110;}
}

/* Store Profile: logo + banner previews stack on small screens */
@media (max-width:600px){
  .store-brand-row{flex-direction:column;gap:16px!important;}
  .store-brand-row > div{width:100%;}
}

/* ===== MESSAGE THREADS ===== */
.thread-list{display:flex;flex-direction:column;}
.thread-item{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line,#E7E4DE);}
.thread-item:last-child{border-bottom:none;}
.thread-avatar{width:38px;height:38px;border-radius:50%;background:var(--navy,#2A245E);color:#fff;display:flex;
  align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;}
.thread-main{flex:1;min-width:0;}
.thread-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap;}
.thread-from{font-weight:700;font-size:13.5px;color:var(--navy,#2A245E);}
.thread-time{font-size:11.5px;color:var(--muted,#6B7684);white-space:nowrap;}
.thread-subject{font-size:13px;font-weight:600;color:var(--ink,#16202C);margin:3px 0 2px;}
.thread-snippet{font-size:12.5px;color:var(--muted,#6B7684);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.thread-unread{width:8px;height:8px;border-radius:50%;background:var(--orange,#F2884B);flex-shrink:0;margin-top:15px;}

.chat-log{display:flex;flex-direction:column;gap:14px;padding:4px 0 18px;}
.bubble-row{display:flex;gap:10px;max-width:78%;}
.bubble-row.mine{margin-left:auto;flex-direction:row-reverse;}
.bubble{padding:12px 15px;border-radius:14px;font-size:13.5px;line-height:1.55;}
.bubble-in{background:var(--paper,#F5F5F6);border:1px solid var(--line,#E7E4DE);border-bottom-left-radius:4px;color:var(--ink,#16202C);}
.bubble-out{background:var(--navy,#2A245E);color:#fff;border-bottom-right-radius:4px;}
.bubble-meta{font-size:11px;color:var(--muted,#6B7684);margin-top:5px;}
.bubble-row.mine .bubble-meta{text-align:right;}
.chat-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:12px;flex-shrink:0;align-self:flex-end;}
.chat-avatar.buyer{background:#E4E9F0;color:var(--navy,#2A245E);}
.chat-avatar.seller{background:var(--orange,#F2884B);color:#fff;}

.reply-box{border-top:1px solid var(--line,#E7E4DE);padding-top:18px;}
.reply-box textarea{width:100%;padding:11px 14px;border:1px solid var(--line,#E7E4DE);border-radius:10px;
  font-size:13.5px;font-family:inherit;resize:vertical;}

.nav-badge{margin-left:auto;background:var(--orange,#F2884B);color:#fff;font-size:10.5px;font-weight:700;
  min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;}

@media (max-width:600px){
  .bubble-row{max-width:92%;}
}

/* ===== TYPE PICKER (exhibition vs event) ===== */
.type-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px;}
.type-option{position:relative;border:1.5px solid var(--line,#E7E4DE);border-radius:12px;padding:18px 16px;
  cursor:pointer;transition:.16s;display:block;background:#fff;}
.type-option:hover{border-color:#c9d0d8;}
.type-option input{position:absolute;opacity:0;pointer-events:none;}
.type-option.selected{border-color:var(--orange,#F2884B);background:#FEF6F0;box-shadow:0 0 0 3px rgba(242,136,75,.12);}
.type-option .t-icon{width:38px;height:38px;border-radius:10px;background:var(--paper,#F5F5F6);display:flex;
  align-items:center;justify-content:center;margin-bottom:12px;color:var(--navy,#2A245E);transition:.16s;}
.type-option.selected .t-icon{background:var(--orange,#F2884B);color:#fff;}
.type-option .t-title{display:block;font-weight:700;font-size:14px;color:var(--navy,#2A245E);margin-bottom:3px;}
.type-option .t-desc{display:block;font-size:11.5px;color:var(--muted,#6B7684);line-height:1.5;}
.type-option .t-check{position:absolute;top:14px;right:14px;width:18px;height:18px;border-radius:50%;
  border:1.5px solid var(--line,#E7E4DE);display:flex;align-items:center;justify-content:center;}
.type-option.selected .t-check{background:var(--orange,#F2884B);border-color:var(--orange,#F2884B);}
.type-option .t-check svg{opacity:0;width:10px;height:10px;color:#fff;}
.type-option.selected .t-check svg{opacity:1;}

/* ===== FILTER TABS ===== */
.filter-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line,#E7E4DE);margin-bottom:20px;
  overflow-x:auto;scrollbar-width:none;}
.filter-tabs::-webkit-scrollbar{display:none;}
.filter-tabs a{padding:10px 16px;font-size:13.5px;font-weight:600;color:var(--muted,#6B7684);
  border-bottom:2px solid transparent;white-space:nowrap;display:flex;align-items:center;gap:7px;}
.filter-tabs a:hover{color:var(--navy,#2A245E);}
.filter-tabs a.active{color:var(--navy,#2A245E);border-color:var(--orange,#F2884B);}
.filter-tabs .tab-count{background:var(--paper,#F5F5F6);border-radius:20px;padding:1px 8px;
  font-size:11px;font-family:var(--font-mono,monospace);}
.filter-tabs a.active .tab-count{background:var(--orange,#F2884B);color:#fff;}

.badge-blue{background:#E6EDF7;color:#2A245E;}
.badge-purple{background:#EFE8F7;color:#5B3E85;}

@media (max-width:600px){
  .type-picker{grid-template-columns:1fr;}
}

/* ===== SOCIAL LINK FIELDS (admin settings) ===== */
.social-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.social-fields label{display:flex;align-items:center;gap:8px;}
.soc-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
@media (max-width:700px){.social-fields{grid-template-columns:1fr;}}

/* ===== FEATURE (STAR) TOGGLE ===== */
.star-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line,#E7E4DE);
  background:#fff;border-radius:20px;padding:5px 12px;cursor:pointer;font-family:inherit;
  font-size:11.5px;font-weight:700;color:var(--muted,#6B7684);transition:.15s;white-space:nowrap;}
.star-btn svg{width:13px;height:13px;fill:#D5D9DE;transition:fill .15s;}
.star-btn:hover{border-color:#F2AB3B;color:#B8791A;}
.star-btn:hover svg{fill:#F2AB3B;}
.star-btn.on{background:#FFF6E4;border-color:#F2AB3B;color:#9A6412;}
.star-btn.on svg{fill:#F2AB3B;}

/* ===== REGISTRATION STAT CARDS ===== */
.reg-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px;}
.reg-stat{position:relative;display:flex;gap:14px;align-items:flex-start;background:#fff;
  border:1px solid var(--line,#E7E4DE);border-radius:14px;padding:18px;overflow:hidden;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.reg-stat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--navy,#2A245E),var(--orange,#F2884B));
  transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.3,1);}
.reg-stat:hover{transform:translateY(-3px);border-color:#d5dae1;
  box-shadow:0 16px 32px -16px rgba(30,58,95,.28);}
.reg-stat:hover::before{transform:scaleX(1);}

/* the one that needs attention keeps its accent bar permanently on */
.reg-stat.needs-action{border-color:#F5D9A8;background:#FFFCF6;}
.reg-stat.needs-action::before{background:linear-gradient(90deg,#E9A227,var(--orange,#F2884B));transform:scaleX(1);}

.reg-stat-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;color:#fff;}
.reg-stat-icon svg{width:20px;height:20px;}
.reg-stat-icon.is-navy{background:linear-gradient(140deg,#2A245E,#3D5F8A);
  box-shadow:0 8px 16px -8px rgba(30,58,95,.55);}
.reg-stat-icon.is-blue{background:linear-gradient(140deg,#2C6AAE,#5B96D2);
  box-shadow:0 8px 16px -8px rgba(44,106,174,.55);}
.reg-stat-icon.is-amber{background:linear-gradient(140deg,#D98E1F,#F0B65A);
  box-shadow:0 8px 16px -8px rgba(217,142,31,.55);}
.reg-stat-icon.is-green{background:linear-gradient(140deg,#1A7A3F,#3FAE6B);
  box-shadow:0 8px 16px -8px rgba(26,122,63,.55);}

.reg-stat-body{min-width:0;flex:1;}
.reg-stat-label{display:block;font-family:var(--font-mono,monospace);font-size:10px;
  letter-spacing:.07em;text-transform:uppercase;color:var(--muted,#6B7684);margin-bottom:6px;
  font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.reg-stat-value{display:block;font-family:var(--font-mono,monospace);font-size:24px;
  font-weight:700;color:var(--navy,#2A245E);line-height:1.1;letter-spacing:-.01em;}
.reg-stat-link{display:inline-block;margin-top:7px;font-size:11.5px;font-weight:700;
  color:var(--orange,#F2884B);}
.reg-stat-link:hover{text-decoration:underline;}

@media (max-width:1024px){
  .reg-stats{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .reg-stats{grid-template-columns:1fr;gap:12px;}
  .reg-stat{padding:15px;}
  .reg-stat-value{font-size:21px;}
}

/* ===== TEAM / PARTNER THUMBNAILS (admin) ===== */
.tm-avatar,.tm-logo{width:44px;height:44px;border-radius:50%;overflow:hidden;
  background:linear-gradient(140deg,#2A245E,#3D5F8A);display:flex;align-items:center;
  justify-content:center;flex-shrink:0;}
.tm-logo{border-radius:10px;background:var(--panel,#F5F5F6);border:1px solid var(--line,#E7E4DE);}
.tm-avatar img,.tm-logo img{width:100%;height:100%;object-fit:cover;}
.tm-logo img{object-fit:contain;padding:4px;}
.tm-avatar span{color:#fff;font-weight:800;font-size:14px;}
.tm-logo span{color:var(--navy,#2A245E);font-weight:800;font-size:13px;}

/* ===== ENQUIRY MESSAGE BODY ===== */
.enquiry-body{background:var(--panel,#F5F5F6);border-left:3px solid var(--orange,#F2884B);
  border-radius:0 10px 10px 0;padding:18px 20px;margin-top:18px;font-size:14px;
  line-height:1.75;color:#41506a;}

/* Sidebar sits on deep navy, so the logo mark inverts to white there */
.dash-sidebar .logo-mark{background:transparent;color:#fff;display:inline-flex;
  align-items:center;line-height:0;flex-shrink:0;}
.dash-sidebar .logo-mark svg{display:block;width:1.25em;height:1.25em;transform:translateY(0.06em);}

.dash-logo .logo-text{display:block;line-height:1;}

/* invoice button inside dashboard panels */
.dash-panel .invoice-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;
  border:1px solid var(--line,#E7E4DE);border-radius:9px;padding:8px 15px;font-size:12.5px;
  font-weight:600;color:var(--navy,#2A245E);transition:.16s;white-space:nowrap;}
.dash-panel .invoice-btn svg{width:14px;height:14px;flex-shrink:0;}
.dash-panel .invoice-btn:hover{border-color:var(--orange,#F2884B);color:var(--orange,#F2884B);}

/* invoice button inside dashboard panels */
.invoice-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;
  border:1px solid var(--line,#E7E4DE);border-radius:9px;padding:9px 16px;font-size:13px;
  font-weight:600;color:var(--navy,#2A245E);transition:.16s;white-space:nowrap;}
.invoice-btn svg{width:15px;height:15px;flex-shrink:0;}
.invoice-btn:hover{border-color:var(--orange,#F2884B);color:var(--orange,#F2884B);}

/* ============================================================
   VENDOR ORDER DETAIL
   ============================================================ */
.vo-back{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted,#6B7684);
  margin-bottom:16px;transition:color .15s;}
.vo-back:hover{color:var(--navy,#2A245E);}
.vo-back svg{width:15px;height:15px;}

.vo-num{color:var(--navy,#2A245E);font-weight:600;transition:color .15s;}
.vo-num:hover{color:var(--orange,#F2884B);}

.vo-action{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;
  color:var(--orange,#F2884B);padding:5px 9px;border-radius:7px;transition:.15s;}
.vo-action:hover{background:rgba(242,136,75,.1);}
.vo-action.is-muted{color:var(--muted,#6B7684);}
.vo-action.is-muted:hover{background:var(--panel,#F5F5F6);color:var(--navy,#2A245E);}
.vo-action svg{width:13px;height:13px;flex-shrink:0;}

/* header */
.vo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  flex-wrap:wrap;margin-bottom:22px;}
.vo-head h2{font-size:24px;color:var(--navy,#2A245E);margin:10px 0 6px;font-weight:700;
  font-family:var(--font-mono,ui-monospace),monospace;letter-spacing:-.01em;}
.vo-head p{font-size:13px;color:var(--muted,#6B7684);margin:0;line-height:1.6;}

.vo-grid{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start;}

/* items */
.vo-items{display:grid;gap:12px;}
.vo-item{display:flex;align-items:center;gap:14px;padding:13px;
  background:var(--panel,#F7F8FA);border:1px solid var(--line,#E7E4DE);border-radius:11px;}
.vo-item-img{width:52px;height:52px;border-radius:9px;background:#fff;
  border:1px solid var(--line,#E7E4DE);display:grid;place-items:center;overflow:hidden;
  flex-shrink:0;color:#c2cad4;}
.vo-item-img img{width:100%;height:100%;object-fit:contain;padding:4px;}
.vo-item-img svg{width:22px;height:22px;}
.vo-item-body{flex:1;min-width:0;}
.vo-item-body b{display:block;font-size:13.8px;color:var(--navy,#2A245E);font-weight:600;
  margin-bottom:3px;line-height:1.4;}
.vo-item-body span{font-size:12.5px;color:var(--muted,#6B7684);}
.vo-item-total{font-size:14px;font-weight:700;color:var(--navy,#2A245E);flex-shrink:0;}

.vo-totals{margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#E7E4DE);}
.vo-totals > div{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px;
  color:var(--muted,#6B7684);}
.vo-totals b{color:var(--ink,#16202C);font-weight:600;}
.vo-totals .is-grand{margin-top:8px;padding-top:12px;border-top:1px solid var(--line,#E7E4DE);
  font-size:16px;}
.vo-totals .is-grand span,.vo-totals .is-grand b{color:var(--navy,#2A245E);font-weight:700;}

/* customer / payment meta */
.vo-meta > div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;
  border-top:1px solid var(--line,#E7E4DE);}
.vo-meta > div:first-child{border-top:none;padding-top:0;}
.vo-meta span{font-size:12px;color:var(--muted,#6B7684);flex-shrink:0;}
.vo-meta b{font-size:12.8px;color:var(--ink,#16202C);font-weight:600;text-align:right;
  word-break:break-word;}
.vo-meta a{color:var(--orange,#F2884B);}

.vo-address{font-size:13.2px;color:#41506a;line-height:1.8;margin:0;}

@media (max-width:1100px){
  .vo-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .vo-head{flex-direction:column;}
  .vo-head h2{font-size:20px;}
  .vo-item{flex-wrap:wrap;}
  .vo-item-total{width:100%;text-align:right;}
}

/* ===== CURRENCIES (admin) ===== */
.cur-note{display:flex;gap:14px;align-items:flex-start;background:#EFEEF8;
  border:1px solid #D9D6EE;border-radius:12px;padding:18px 20px;margin-bottom:22px;}
.cur-note svg{width:21px;height:21px;color:#39327E;flex-shrink:0;margin-top:2px;}
.cur-note b{display:block;font-size:14px;color:#2A245E;margin-bottom:5px;}
.cur-note span{display:block;font-size:13px;color:#3D5F8A;line-height:1.75;}
.cur-chip{width:34px;height:34px;border-radius:9px;background:var(--panel,#F5F5F6);
  border:1px solid var(--line,#E7E4DE);display:grid;place-items:center;
  font-size:14px;font-weight:700;color:var(--navy,#2A245E);flex-shrink:0;}
.cur-base-row{background:#FAFCFF;}
.cur-base-tag{display:inline-block;background:#2A245E;color:#fff;font-size:8.5px;
  font-weight:800;letter-spacing:.06em;padding:2px 6px;border-radius:20px;
  margin-left:6px;vertical-align:middle;}

/* ===== BLOG (admin) ===== */
.blog-form{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start;}
.blog-form-side .dash-panel{margin-bottom:16px;}
.blog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;}
.dash-hint{font-size:11.5px;color:var(--muted,#6B7684);margin-top:6px;line-height:1.6;}

.blog-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;
  background:var(--panel,#F5F5F6);border:1px solid var(--line,#E7E4DE);border-radius:10px;
  padding:13px 15px;}
.blog-check input{margin-top:2px;flex-shrink:0;}
.blog-check span{font-size:13px;color:var(--navy,#2A245E);font-weight:600;line-height:1.4;}
.blog-check em{display:block;font-style:normal;font-size:11.5px;color:var(--muted,#6B7684);
  font-weight:400;margin-top:3px;line-height:1.55;}

.blog-cover-preview{border-radius:10px;overflow:hidden;border:1px solid var(--line,#E7E4DE);
  margin-bottom:12px;background:var(--panel,#F5F5F6);}
.blog-cover-preview img{width:100%;display:block;}

.blog-thumb{width:64px;height:44px;border-radius:8px;overflow:hidden;
  background:var(--panel,#F5F5F6);border:1px solid var(--line,#E7E4DE);
  display:grid;place-items:center;color:#c2cad4;flex-shrink:0;}
.blog-thumb img{width:100%;height:100%;object-fit:cover;}
.blog-thumb svg{width:20px;height:20px;}
.blog-title-link{font-weight:600;color:var(--navy,#2A245E);font-size:13.5px;transition:color .15s;}
.blog-title-link:hover{color:var(--orange,#F2884B);}
.blog-star{color:var(--orange,#F2884B);font-size:13px;margin-left:5px;}

@media (max-width:1000px){
  .blog-form{grid-template-columns:1fr;}
}

/* ============================================================
   DASHBOARD TOPBAR — toggle + back link
   ============================================================ */
/* The hamburger SVG had no width/height and no CSS sizing, so the button
   collapsed to zero and was invisible on every dashboard. */
.dash-menu-btn{align-items:center;justify-content:center;width:38px;height:38px;
  flex-shrink:0;padding:0;border-radius:9px;transition:background .15s;}
.dash-menu-btn svg{width:22px;height:22px;display:block;}
.dash-menu-btn:hover{background:var(--panel,#F5F5F6);}
.dash-menu-btn:active{background:#E9EBEE;}

/* back to marketplace — a proper button rather than a bare link */
.dash-back-link{display:inline-flex;align-items:center;gap:7px;
  background:var(--panel,#F5F5F6);border:1px solid var(--line,#E7E4DE);
  border-radius:9px;padding:8px 14px;font-size:13px;font-weight:600;
  color:var(--navy,#2A245E);white-space:nowrap;
  transition:background .15s,border-color .15s,transform .15s;}
.dash-back-link:hover{background:#fff;border-color:#C9D2DD;color:var(--navy,#2A245E);
  transform:translateX(-2px);}
.dash-back-link svg{width:15px;height:15px;flex-shrink:0;}

@media (max-width:900px){
  /* shown, not hidden — collapses to an icon so it still fits */
  .dash-back-link{display:inline-flex!important;padding:0;width:38px;height:38px;
    justify-content:center;gap:0;}
  .dash-back-link span{display:none;}
  .dash-back-link svg{width:18px;height:18px;}
  .dash-back-link:hover{transform:none;}
  .dash-topbar{padding:11px 14px;gap:10px;}
  .dash-topbar-title{font-size:15px;flex:1;min-width:0;overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap;}
  .dash-topbar-user{gap:6px;flex-shrink:0;}
}

@media (max-width:420px){
  .dash-menu-btn,.dash-back-link{width:34px;height:34px;}
  .dash-menu-btn svg{width:20px;height:20px;}
  .dash-topbar-title{font-size:14px;}
}

/* ============================================================
   MEMBERSHIP
   ============================================================ */
.mb-plan{background:#fff;border:1px solid var(--line,#E7E4DE);border-radius:16px;
  padding:28px;margin-bottom:20px;position:relative;overflow:hidden;}
.mb-plan.is-free::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#1A7A3F,#3FAE6B);}
.mb-plan-head{display:flex;justify-content:space-between;align-items:flex-start;
  gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.mb-eyebrow{display:block;font-family:var(--font-mono,monospace);font-size:10px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted,#6B7684);margin-bottom:6px;}
.mb-plan-head h2{font-size:22px;color:var(--navy,#2A245E);margin:0;font-weight:700;}
.mb-status{font-size:11.5px;font-weight:700;padding:6px 13px;border-radius:20px;
  white-space:nowrap;}
.mb-status.is-active{background:#EAF7EF;color:#146334;}
.mb-status.is-grace{background:#FFF3E4;color:#8A5A10;}
.mb-status.is-past_due,.mb-status.is-cancelled{background:#FDECEA;color:#A12622;}

.mb-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:22px;}
.mb-price s{font-size:22px;color:#9aa6b4;}
.mb-price b{font-size:38px;font-weight:800;color:#1A7A3F;letter-spacing:-.02em;
  line-height:1;}
.mb-plan:not(.is-free) .mb-price b{color:var(--navy,#2A245E);}
.mb-price span{font-size:14px;color:var(--muted,#6B7684);}

.mb-notice{display:flex;gap:12px;align-items:flex-start;border-radius:11px;
  padding:16px 18px;margin-bottom:22px;}
.mb-notice svg{width:19px;height:19px;flex-shrink:0;margin-top:1px;}
.mb-notice b{display:block;font-size:14px;margin-bottom:5px;}
.mb-notice span{display:block;font-size:13px;line-height:1.75;}
.mb-notice.is-ok{background:#EAF7EF;border:1px solid #C6E7D3;color:#146334;}
.mb-notice.is-warn{background:#FFF3E4;border:1px solid #F8DFB8;color:#8A5A10;}
.mb-notice.is-error{background:#FDECEA;border:1px solid #F5C2C0;color:#A12622;}

.mb-features{list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:11px;}
.mb-features li{display:flex;align-items:center;gap:10px;font-size:13.5px;
  color:#41506a;}
.mb-features svg{width:15px;height:15px;color:#1A7A3F;flex-shrink:0;}

.mb-comm{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.mb-comm b{font-size:34px;font-weight:800;color:var(--navy,#2A245E);
  letter-spacing:-.02em;line-height:1;font-family:var(--font-mono,monospace);}
.mb-comm span{font-size:14px;color:var(--muted,#6B7684);}

/* admin */
.mb-admin-banner{display:flex;justify-content:space-between;align-items:center;
  gap:26px;border-radius:14px;padding:22px 24px;margin-bottom:20px;flex-wrap:wrap;}
.mb-admin-banner.is-on{background:#EAF7EF;border:1px solid #C6E7D3;}
.mb-admin-banner.is-off{background:#FFF3E4;border:1px solid #F8DFB8;}
.mb-admin-eyebrow{display:block;font-family:var(--font-mono,monospace);font-size:10px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.7;
  margin-bottom:5px;}
.mb-admin-banner b{display:block;font-size:16px;color:var(--navy,#2A245E);
  margin-bottom:6px;}
.mb-admin-banner p{font-size:13px;line-height:1.7;margin:0;color:#41506a;max-width:560px;}
.mb-admin-stats{display:flex;gap:22px;flex-shrink:0;}
.mb-admin-stats div{text-align:center;}
.mb-admin-stats b{font-size:24px;font-family:var(--font-mono,monospace);
  color:var(--navy,#2A245E);margin:0;}
.mb-admin-stats span{font-size:11px;color:var(--muted,#6B7684);}

.mb-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;
  align-items:start;margin-bottom:20px;}

@media (max-width:900px){
  .mb-admin-grid{grid-template-columns:1fr;}
  .mb-admin-banner{flex-direction:column;align-items:flex-start;}
  .mb-price b{font-size:32px;}
}

/* membership bank details + review queue */
.mb-bank{background:var(--panel,#F5F5F6);border:1px solid var(--line,#E7E4DE);
  border-radius:11px;padding:16px 18px;margin-bottom:22px;}
.mb-bank > div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;
  border-top:1px solid var(--line,#E7E4DE);}
.mb-bank > div:first-child{border-top:none;padding-top:0;}
.mb-bank span{font-size:12px;color:var(--muted,#6B7684);flex-shrink:0;}
.mb-bank b{font-size:12.8px;color:var(--ink,#16202C);text-align:right;word-break:break-all;}

.mb-receipts{display:grid;gap:12px;}
.mb-receipt{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:#FFF9F3;border:1px solid #F8DFB8;border-radius:12px;padding:16px 18px;}
.mb-receipt-info{flex:1;min-width:220px;}
.mb-receipt-info b{display:block;font-size:14px;color:var(--navy,#2A245E);margin-bottom:5px;}
.mb-receipt-info > span{display:block;font-size:12.5px;color:#6B7684;line-height:1.6;}
.mb-receipt-note{margin-top:6px;font-style:italic;}
.mb-receipt-actions{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;}
.mb-receipt-actions form{min-width:180px;}

@media (max-width:700px){
  .mb-receipt,.mb-receipt-actions{flex-direction:column;}
  .mb-receipt-actions form{width:100%;}
}

/* Roboto Mono's dotted zero reads as a rendering fault in figures —
   turn it off across the dashboard too. */
body{font-feature-settings:"zero" 0;}
.mono, [class*="mono"], .dash-stat-num, .dash-table td{
  font-feature-settings:"zero" 0;
  font-variant-numeric:lining-nums tabular-nums;
}

/* sidebar brand: white logo on navy */
.dash-sidebar .logo{gap:0;font-size:0;line-height:0;}
.dash-sidebar a.logo .logo-img{display:block;height:40px;width:auto;max-width:none;}

/* ============================================================
   CSV IMPORT
   ============================================================ */
.imp-grid{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start;}
.imp-grid .dash-panel{margin-bottom:16px;}

.imp-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;border:2px dashed var(--line,#E7E4DE);border-radius:14px;padding:38px 24px;
  cursor:pointer;text-align:center;transition:border-color .18s,background .18s;
  background:var(--panel,#F7F8FA);}
.imp-drop:hover{border-color:var(--orange,#F2884B);background:#FFFCF9;}
.imp-drop.has-file{border-color:#1A7A3F;background:#F4FBF6;border-style:solid;}
.imp-drop input{position:absolute;width:1px;height:1px;opacity:0;}
.imp-drop svg{width:34px;height:34px;color:var(--muted,#6B7684);}
.imp-drop b{font-size:14.5px;color:var(--navy,#1E3A5F);}
.imp-drop span{font-size:12.5px;color:var(--muted,#6B7684);word-break:break-all;}

.imp-cols{display:flex;flex-wrap:wrap;gap:6px;}
.imp-col{display:inline-flex;align-items:center;gap:6px;background:var(--panel,#F5F5F6);
  border:1px solid var(--line,#E7E4DE);border-radius:20px;padding:5px 11px;}
.imp-col b{font-size:11px;color:var(--navy,#1E3A5F);font-weight:600;}
.imp-col.is-req{background:#FFF4EC;border-color:#FBDCC6;}
.imp-req{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#C0392B;}

.imp-summary{display:flex;gap:14px;margin-bottom:20px;flex-wrap:wrap;}
.imp-stat{flex:1;min-width:130px;background:#fff;border:1px solid var(--line,#E7E4DE);
  border-radius:12px;padding:18px 20px;}
.imp-stat b{display:block;font-family:var(--font-mono,monospace);font-size:28px;
  font-weight:700;color:var(--navy,#1E3A5F);line-height:1;margin-bottom:5px;}
.imp-stat span{font-size:12.5px;color:var(--muted,#6B7684);}
.imp-stat.is-ok{background:#F4FBF6;border-color:#C6E7D3;}
.imp-stat.is-ok b{color:#146334;}
.imp-stat.is-bad{background:#FDF4F3;border-color:#F5C2C0;}
.imp-stat.is-bad b{color:#A12622;}

.imp-table tbody tr.imp-row-bad{background:#FDF6F5;}
.imp-errs{margin:6px 0 0;padding-left:15px;}
.imp-errs li{font-size:11.5px;color:#A12622;line-height:1.55;}

.imp-confirm{display:flex;flex-direction:column;align-items:flex-start;gap:0;
  background:#fff;border:1px solid var(--line,#E7E4DE);border-radius:14px;
  padding:22px;margin-top:18px;}
.imp-confirm .dash-btn{margin-right:8px;}

@media (max-width:1000px){
  .imp-grid{grid-template-columns:1fr;}
}
