:root{
  --ink:#16241F;
  --forest:#1E4D42;
  --forest-light:#2F6E5D;
  --forest-dark:#0F332B;
  --gold:#C89B3C;
  --gold-light:#E3C374;
  --paper:#FAF8F3;
  --surface:#FFFFFF;
  --border:#E4E0D6;
  --text:#26332E;
  --text-muted:#6B7770;
  --success:#2F7D5A;
  --success-bg:#E7F3EC;
  --warning:#B8842E;
  --warning-bg:#FBF1DF;
  --danger:#B5432E;
  --danger-bg:#FBE8E3;
  --neutral:#64748B;
  --neutral-bg:#EEF1F0;
  --radius:10px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Inter',sans-serif;
  background:var(--paper);
  color:var(--text);
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.display{font-family:'Fraunces',serif;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,select{font-family:inherit;}

/* ===== App shell ===== */
.app{display:flex;min-height:100vh;}

/* ===== Sidebar ===== */
.sidebar{
  width:240px;
  background:var(--forest-dark);
  color:#EFEAE0;
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  padding:22px 16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 8px 22px 8px;
  border-bottom:1px solid rgba(239,234,224,0.12);
  margin-bottom:18px;
}
.brand-mark{
  width:34px;height:34px;border-radius:8px;
  background:linear-gradient(150deg,var(--gold-light),var(--gold));
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:700;color:var(--forest-dark);font-size:16px;
  flex-shrink:0;
}
.brand-name{font-family:'Fraunces',serif;font-weight:600;font-size:15.5px;line-height:1.2;}
.brand-sub{font-size:11px;color:#B9C9C1;letter-spacing:.03em;margin-top:1px;}

.nav{display:flex;flex-direction:column;gap:2px;flex:1;}
.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 10px;border-radius:8px;
  font-size:13.5px;font-weight:500;color:#CBD8D1;
  transition:background .15s;
  cursor:pointer;
}
.nav-item svg{width:16px;height:16px;flex-shrink:0;opacity:.85;}
.nav-item:hover{background:rgba(239,234,224,0.07);color:#fff;}
.nav-item.active{background:rgba(200,155,60,0.16);color:#F3DFA6;}
.nav-item.active svg{opacity:1;}
.nav-badge{
  margin-left:auto;background:var(--danger);color:#fff;
  font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:10px;
}
.nav-divider{height:1px;background:rgba(239,234,224,0.1);margin:10px 4px;}
.nav-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#7E9186;padding:6px 10px 2px;}

.sidebar-foot{
  padding-top:14px;border-top:1px solid rgba(239,234,224,0.12);
  font-size:11.5px;color:#8CA098;
}

/* ===== Main ===== */
.main{flex:1;min-width:0;display:flex;flex-direction:column;}
.topbar{
  height:60px;flex-shrink:0;
  background:var(--surface);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 26px;
}
.page-title{font-family:'Fraunces',serif;font-weight:600;font-size:19px;}
.page-sub{font-size:12px;color:var(--text-muted);margin-top:1px;}
.topbar-right{display:flex;align-items:center;gap:14px;}
.search-box{
  display:flex;align-items:center;gap:7px;
  background:var(--paper);border:1px solid var(--border);
  padding:7px 11px;border-radius:8px;width:230px;
}
.search-box input{background:none;border:none;outline:none;font-size:13px;width:100%;color:var(--text);}
.search-box svg{width:14px;height:14px;color:var(--text-muted);flex-shrink:0;}
.avatar{
  width:32px;height:32px;border-radius:50%;
  background:var(--forest);color:#F3DFA6;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;font-family:'Fraunces',serif;
}
.content{flex:1;padding:24px 26px 60px;overflow-y:auto;}
.view{display:none;}
.view.active{display:block;}

/* ===== Cards / KPIs ===== */
.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px;}
.kpi-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:16px 18px;position:relative;overflow:hidden;
}
.kpi-label{font-size:12px;color:var(--text-muted);font-weight:500;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;}
.kpi-value{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--ink);}
.kpi-delta{font-size:11.5px;margin-top:5px;color:var(--text-muted);}
.kpi-delta.up{color:var(--success);}
.kpi-delta.warn{color:var(--danger);}
.kpi-card.accent{border-color:rgba(181,67,46,0.35);background:linear-gradient(180deg,#FEFCFA,var(--danger-bg) 400%);}
.kpi-card.clickable{cursor:pointer;}
.kpi-card.clickable:hover{border-color:var(--ink);}

.card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  margin-bottom:18px;overflow:hidden;
}
.card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:15px 18px;border-bottom:1px solid var(--border);
}
.card-head h3{font-family:'Fraunces',serif;font-size:15.5px;font-weight:600;}
.card-head p{font-size:12px;color:var(--text-muted);margin-top:2px;}
.card-body{padding:16px 18px;}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;
  transition:all .15s;white-space:nowrap;
}
.btn svg{width:14px;height:14px;}
.btn-primary{background:var(--forest);color:#fff;}
.btn-primary:hover{background:var(--forest-light);}
.btn-gold{background:var(--gold);color:#402D06;}
.btn-gold:hover{background:var(--gold-light);}
.btn-ghost{background:var(--paper);color:var(--text);border:1px solid var(--border);}
.btn-ghost:hover{background:#F1EEE5;}
.btn-danger-ghost{background:var(--danger-bg);color:var(--danger);}
.btn-danger-ghost:hover{background:#F7DCD5;}
.btn-sm{padding:5px 10px;font-size:12px;}

/* ===== Tables ===== */
table{width:100%;border-collapse:collapse;}
th{
  text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--text-muted);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--border);
  white-space:nowrap;
}
td{padding:12px;border-bottom:1px solid var(--border);font-size:13.5px;vertical-align:middle;}
tbody tr{transition:background .1s;cursor:pointer;}
tbody tr:hover{background:#FBFAF6;}
tbody tr:last-child td{border-bottom:none;}
.cell-primary{font-weight:600;color:var(--ink);}
.cell-muted{color:var(--text-muted);font-size:12.5px;}

/* ===== Status pills ===== */
.pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:600;
}
.pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;}
.pill-good{background:var(--success-bg);color:var(--success);}
.pill-warn{background:var(--warning-bg);color:var(--warning);}
.pill-bad{background:var(--danger-bg);color:var(--danger);}
.pill-neutral{background:var(--neutral-bg);color:var(--neutral);}

/* ===== Filters ===== */
.filter-row{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.chip{
  padding:6px 13px;border-radius:20px;font-size:12.5px;font-weight:600;
  background:var(--paper);border:1px solid var(--border);color:var(--text-muted);
}
.chip.active{background:var(--forest);color:#fff;border-color:var(--forest);}
.filter-search{
  margin-left:auto;display:flex;align-items:center;gap:6px;
  background:var(--paper);border:1px solid var(--border);padding:6px 11px;border-radius:8px;width:220px;
}
.filter-search input{background:none;border:none;outline:none;font-size:12.5px;width:100%;}
.filter-search svg{width:13px;height:13px;color:var(--text-muted);flex-shrink:0;}

/* ===== Ledger stamp (signature element) ===== */
.stamp{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.06em;
  padding:3px 9px 3px 7px;border-radius:3px;border:1.5px solid currentColor;
  transform:rotate(-2deg);position:relative;text-transform:uppercase;
}
.stamp-matched{color:var(--success);}
.stamp-review{color:var(--warning);transform:rotate(1.5deg);}
.stamp-unmatched{color:var(--danger);transform:rotate(-1deg);}
.stamp::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;}

/* ===== Empty / toast ===== */
.empty{padding:50px 20px;text-align:center;color:var(--text-muted);}
.empty svg{width:36px;height:36px;color:var(--border);margin-bottom:10px;}
.toast{
  position:fixed;bottom:24px;right:24px;background:var(--ink);color:#fff;
  padding:12px 18px;border-radius:9px;font-size:13px;font-weight:500;
  display:flex;align-items:center;gap:9px;box-shadow:0 8px 24px rgba(0,0,0,.2);
  transform:translateY(20px);opacity:0;pointer-events:none;transition:all .25s;z-index:500;
}
.toast.show{transform:translateY(0);opacity:1;}
.toast svg{width:15px;height:15px;color:var(--gold-light);flex-shrink:0;}

/* ===== Auth screen ===== */
.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--forest-dark);padding:20px;}
.auth-box{width:100%;max-width:380px;background:var(--surface);border-radius:16px;padding:36px 32px;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.auth-box.auth-box-wide{max-width:560px;}
.auth-box .brand-mark{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--forest),var(--forest-dark));
  color:var(--gold-light);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
  font-family:'Fraunces',serif;font-size:19px;font-weight:600;}
.auth-box h1{font-family:'Fraunces',serif;font-size:20px;text-align:center;margin-bottom:4px;color:var(--forest-dark);}
.auth-box .sub{font-size:13px;color:var(--text-muted);text-align:center;margin-bottom:26px;line-height:1.5;}
.auth-field{margin-bottom:14px;}
.auth-field label{display:block;font-size:12px;font-weight:600;color:var(--forest-dark);margin-bottom:5px;}
.auth-field input{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:9px;font-size:14.5px;font-family:inherit;}
.auth-field input:focus{outline:none;border-color:var(--forest);}
.auth-code-input{text-align:center;font-family:'IBM Plex Mono',monospace;font-size:22px;letter-spacing:8px;font-weight:600;}
.auth-demo-code{margin-top:16px;padding:12px 14px;background:var(--warning-bg);color:var(--warning);border-radius:9px;font-size:12px;line-height:1.5;text-align:center;}
.auth-error{color:var(--danger);font-size:12.5px;margin-top:-6px;margin-bottom:12px;}
.auth-links{text-align:center;margin-top:16px;font-size:12.5px;color:var(--text-muted);line-height:1.6;}
.auth-links a{color:var(--forest);font-weight:600;text-decoration:none;}
.auth-actions{display:flex;gap:10px;margin-top:4px;}
.auth-actions .btn{flex:1;justify-content:center;padding:11px;}
.auth-steps{margin:0 0 18px;padding:0;list-style:none;}
.auth-steps li{position:relative;padding:0 0 14px 28px;font-size:13px;color:var(--text);line-height:1.45;}
.auth-steps li:last-child{padding-bottom:0;}
.auth-steps li::before{content:attr(data-step);position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;
  background:var(--forest);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.auth-setup-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:start;margin-bottom:18px;}
@media (max-width:620px){.auth-setup-grid{grid-template-columns:1fr;}}
.auth-secret-row{display:flex;gap:8px;align-items:stretch;}
.auth-secret-row input{flex:1;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.04em;}
.auth-qr-wrap{background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center;}
.auth-qr-wrap .qr-label{font-size:11.5px;font-weight:600;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em;}
.auth-qr-wrap #authQr{display:inline-flex;justify-content:center;background:#fff;padding:8px;border-radius:8px;}
.auth-qr-wrap #authQr img,.auth-qr-wrap #authQr canvas{display:block;}
.auth-hint{font-size:12px;color:var(--text-muted);margin-top:6px;line-height:1.45;}
.auth-modal-overlay{
  position:fixed;inset:0;background:rgba(15,51,43,.55);z-index:500;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.auth-modal{
  width:100%;max-width:420px;background:var(--surface);border-radius:14px;
  border:1px solid var(--border);box-shadow:0 24px 60px rgba(0,0,0,.28);padding:28px 26px;
}
.auth-modal h2{font-family:'Fraunces',serif;font-size:22px;color:var(--forest-dark);margin-bottom:6px;}
.auth-modal .modal-lead{font-size:13.5px;color:var(--text-muted);margin-bottom:18px;line-height:1.5;}
.backup-box{
  background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:16px;
  margin-bottom:16px;
}
.backup-box .backup-label{font-size:12.5px;font-weight:600;color:var(--forest-dark);margin-bottom:10px;}
.backup-code-row{display:flex;align-items:center;gap:8px;}
.backup-code{
  flex:1;font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:600;letter-spacing:.06em;
  background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 14px;color:var(--ink);
  text-align:center;
}
.backup-icon-btn{
  width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;color:var(--forest-dark);
}
.backup-icon-btn:hover{background:var(--paper);}
.backup-icon-btn svg{width:16px;height:16px;}
.backup-note{font-size:12.5px;color:var(--text-muted);line-height:1.5;margin-bottom:18px;}
.profile-card .info-grid{margin-top:8px;}
.profile-2fa-status{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;}
.profile-2fa-status.on{color:var(--success);}
.profile-2fa-status.off{color:var(--warning);}
.profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.avatar-menu{position:relative;}
.avatar{cursor:pointer;}
.avatar:hover{opacity:.9;}
.avatar-dropdown{
  display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:180px;
  background:var(--surface);border:1px solid var(--border);border-radius:10px;
  box-shadow:0 12px 28px rgba(22,36,31,.16);padding:6px;z-index:300;
}
.avatar-dropdown.show{display:block;}
.avatar-dropdown button{
  width:100%;display:flex;align-items:center;gap:8px;text-align:left;
  padding:9px 11px;border-radius:7px;font-size:13px;font-weight:500;color:var(--text);
}
.avatar-dropdown button:hover{background:var(--paper);color:var(--forest-dark);}
.avatar-dropdown button.danger{color:var(--danger);}
.avatar-dropdown button.danger:hover{background:var(--danger-bg);}
.avatar-dropdown .menu-email{
  padding:8px 11px 10px;font-size:11.5px;color:var(--text-muted);border-bottom:1px solid var(--border);
  margin-bottom:4px;word-break:break-all;
}

/* ===== Modal / drawer ===== */
.overlay{
  position:fixed;inset:0;background:rgba(22,36,31,0.45);
  display:none;align-items:stretch;justify-content:flex-end;z-index:400;
}
.overlay.show{display:flex;}
.drawer{
  width:460px;max-width:92vw;background:var(--surface);height:100%;
  overflow-y:auto;box-shadow:-12px 0 30px rgba(0,0,0,.15);
  animation:slideIn .22s ease;
}
@keyframes slideIn{from{transform:translateX(30px);opacity:0;}to{transform:translateX(0);opacity:1;}}
.drawer-head{
  padding:20px 22px;border-bottom:1px solid var(--border);
  display:flex;align-items:flex-start;justify-content:space-between;position:sticky;top:0;background:var(--surface);
}
.drawer-close{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);}
.drawer-close:hover{background:var(--paper);}
.drawer-body{padding:20px 22px;}

/* ===== Reminders ===== */
.cm-box{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--paper);}
.cm-chip{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--neutral-bg);color:var(--forest);}
.cm-check{display:flex;align-items:center;gap:7px;font-size:13.5px;cursor:pointer;}
.cm-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;font-family:inherit;background:#fff;}
.tag-chip{font-family:'IBM Plex Mono',monospace;font-size:11.5px;padding:4px 8px;border-radius:7px;border:1px solid var(--border);background:var(--paper);color:var(--forest);cursor:pointer;}
.tag-chip:hover{background:var(--warning-bg);border-color:var(--gold);}
.cm-info{padding:11px 13px;border-radius:10px;background:var(--success-bg);color:var(--forest);font-size:13px;line-height:1.5;}
.cm-warn{display:flex;gap:8px;align-items:flex-start;padding:8px 11px;border-radius:8px;background:var(--warning-bg);color:var(--warning);font-size:12.5px;margin-bottom:6px;}
.cm-warn svg{width:15px;height:15px;flex-shrink:0;margin-top:1px;}
.cm-mail{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:10px;}
.cm-mail-head{padding:7px 12px;border-bottom:1px solid var(--border);font-size:12.5px;background:var(--paper);}
.cm-mail-head span{display:inline-block;width:56px;color:var(--text-muted);}
.cm-mail-body{padding:12px;font-size:13px;line-height:1.55;white-space:pre-wrap;}
.cm-notif{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:#F1F3F2;border:1px solid var(--border);max-width:360px;}
.cm-notif-ico{width:30px;height:30px;border-radius:8px;background:var(--forest-dark);color:var(--gold-light);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cm-notif-title{font-size:12.5px;font-weight:700;}
.cm-notif-body{font-size:12.5px;color:var(--text);margin-top:1px;line-height:1.4;}
.cm-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--border);padding:12px 0 4px;margin-top:16px;}
.bulk-bar-wrap{position:sticky;bottom:14px;z-index:20;}
.bulk-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;border-radius:12px;background:var(--forest-dark);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:13.5px;}

/* ===== Receipt ===== */
.receipt-paper{
  border:1px solid var(--border);border-radius:10px;padding:28px 26px;background:var(--surface);
}
.receipt-letterhead{text-align:center;margin-bottom:14px;}
.receipt-charity-name{font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--forest);}
.receipt-charity-addr{font-size:11.5px;color:var(--text-muted);margin-top:2px;}
.receipt-title{text-align:center;font-family:'Fraunces',serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:14px 0;}
.receipt-meta{width:100%;border-collapse:collapse;margin-bottom:4px;}
.receipt-meta td{padding:4px 0;font-size:13px;vertical-align:top;}
.receipt-meta td:first-child{color:var(--text-muted);width:42%;}
.receipt-divider{border-top:1px dashed var(--border);margin:12px 0;}
.receipt-amount{text-align:center;font-family:'Fraunces',serif;font-size:32px;font-weight:600;color:var(--forest);margin:20px 0;}
.receipt-footer{text-align:center;font-size:11.5px;color:var(--text-muted);margin-top:18px;line-height:1.6;}
@media print{
  body *{visibility:hidden;}
  #receiptPrintArea, #receiptPrintArea *,
  #statementPrintArea, #statementPrintArea *{visibility:visible;}
  #receiptPrintArea, #statementPrintArea{position:absolute;top:0;left:0;width:100%;border:none;padding:0;background:#fff;}
  .overlay, .drawer, .drawer-body{overflow:visible !important;height:auto !important;position:static !important;box-shadow:none !important;}
}

/* ===== Misc ===== */
.section-title{font-family:'Fraunces',serif;font-size:13.5px;font-weight:600;color:var(--ink);margin:18px 0 10px;text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;color:var(--text-muted);}
.member-header{display:flex;align-items:center;gap:14px;margin-bottom:4px;flex-wrap:wrap;}
.member-avatar{
  width:52px;height:52px;border-radius:12px;background:linear-gradient(150deg,var(--forest-light),var(--forest-dark));
  color:#F3DFA6;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;font-size:19px;flex-shrink:0;
}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;}
.info-item .lbl{font-size:11px;color:var(--text-muted);margin-bottom:3px;}
.info-item .val{font-size:13.5px;font-weight:600;color:var(--ink);}
.timeline{position:relative;padding-left:20px;}
.timeline::before{content:'';position:absolute;left:5px;top:4px;bottom:4px;width:1.5px;background:var(--border);}
.tl-item{position:relative;padding-bottom:16px;}
.tl-item:last-child{padding-bottom:0;}
.tl-dot{position:absolute;left:-20px;top:2px;width:10px;height:10px;border-radius:50%;border:2px solid var(--surface);}
.tl-dot.good{background:var(--success);}
.tl-dot.bad{background:var(--danger);}
.tl-dot.neutral{background:var(--neutral);}
.tl-date{font-size:11px;color:var(--text-muted);margin-bottom:2px;}
.tl-text{font-size:13px;}
.banner{
  display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:9px;font-size:13px;font-weight:500;margin-bottom:16px;
}
.banner-warn{background:var(--warning-bg);color:#7A5A1E;}
.banner-bad{background:var(--danger-bg);color:#7A2F1E;}
.banner svg{width:16px;height:16px;flex-shrink:0;}
.checklist-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border);}
.checklist-row:last-child{border-bottom:none;}
.integration-tile{
  display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;
}
.integration-tile img,.integration-tile .prov-mark{
  width:38px;height:38px;border-radius:8px;background:var(--paper);display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:700;font-size:14px;color:var(--forest);flex-shrink:0;
}
.progress-track{height:6px;background:var(--neutral-bg);border-radius:4px;overflow:hidden;margin-top:6px;}
.progress-fill{height:100%;background:var(--forest);border-radius:4px;}

@media (max-width:900px){
  .kpi-row{grid-template-columns:repeat(2,1fr);}
  .sidebar{width:70px;padding:16px 10px;}
  .brand-name,.brand-sub,.nav-item span,.nav-label,.sidebar-foot{display:none;}
  .brand{justify-content:center;}
  .nav-item{justify-content:center;}
  .info-grid{grid-template-columns:1fr;}
}
