/* ============================================================================
   Cafe Manna — cm-core.css
   Shared Notion-style design system (light + dark) for the whole portal.
   A Unit of Bluevera Naturals Private Limited · www.mycafemanna.com
   Update this one file -> every screen restyles.
   ============================================================================ */

/* ---- Theme tokens ---------------------------------------------------------- */
:root{
  --ac:#b8722d; --ac-2:#d4a574; --ac-strong:#9a5f24;
  --ac-soft:rgba(184,114,45,.10); --ac-soft-2:rgba(184,114,45,.18);
  --bg:#ffffff; --bg-2:#f7f6f3; --bg-3:#efece6; --bg-hover:#f1efea;
  --card:#ffffff; --card-2:#fbfaf8;
  --text:#2a2620; --text-2:#62543f; --text-3:#857560;
  --border:#ece9e3; --border-2:#e0ddd5;
  --green:#2f9e6f; --green-soft:#e6f6ee; --green-text:#1c6b4a;
  --red:#dc2626; --red-soft:#fdecec; --red-text:#991b1b;
  --amber:#d9930a; --amber-soft:#fdf4e3; --amber-text:#8a5a06;
  --blue:#2f6fed; --blue-soft:#eaf1fe; --blue-text:#1e4fb0;
  --violet:#7c5cff; --violet-soft:#f0ecff; --violet-text:#5b3fd0;
  --wa:#25D366;
  --sh-1:0 1px 1px rgba(20,16,10,.04),0 2px 4px rgba(20,16,10,.04),0 4px 12px -6px rgba(20,16,10,.08);
  --sh-2:0 8px 24px -6px rgba(20,16,10,.16),0 18px 48px -12px rgba(20,16,10,.22);
  --sh-hover:0 2px 4px rgba(20,16,10,.05),0 8px 22px -8px rgba(184,114,45,.22);
  --r:10px; --r-lg:15px; --r-sm:8px;
  --f:'DM Sans',ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --f-serif:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --sb-w:248px;
  color-scheme:light;
}
[data-theme="dark"]{
  --ac:#d4a574; --ac-2:#e6c39a; --ac-strong:#c98f4f;
  --ac-soft:rgba(212,165,116,.14); --ac-soft-2:rgba(212,165,116,.22);
  --bg:#191919; --bg-2:#1d1d1d; --bg-3:#2a2a2a; --bg-hover:#262626;
  --card:#1f1f1f; --card-2:#232323;
  --text:#efece6; --text-2:#b6afa4; --text-3:#8b857b;
  --border:#2e2e2e; --border-2:#393939;
  --green:#43c08a; --green-soft:#16301f; --green-text:#7fe0b3;
  --red:#f06a6a; --red-soft:#3a1a1a; --red-text:#ffb3b3;
  --amber:#f0b53d; --amber-soft:#352712; --amber-text:#f3cd80;
  --blue:#5b91ff; --blue-soft:#16243f; --blue-text:#a8c4ff;
  --violet:#a48bff; --violet-soft:#241d3d; --violet-text:#c9bbff;
  --sh-1:0 1px 2px rgba(0,0,0,.4),0 4px 12px -6px rgba(0,0,0,.5); --sh-2:0 16px 48px rgba(0,0,0,.6);
  --sh-hover:0 2px 6px rgba(0,0,0,.5),0 10px 26px -8px rgba(0,0,0,.6);
  color-scheme:dark;
}

/* ---- Base ------------------------------------------------------------------ */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f);background:var(--bg);color:var(--text);min-height:100vh;font-size:15px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .25s,color .25s}
a{color:var(--ac);text-decoration:none}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:6px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:var(--text-3)}
::selection{background:var(--ac-soft-2)}
.cm-serif{font-family:var(--f-serif)}
.cm-muted{color:var(--text-2)}
.cm-dim{color:var(--text-3)}
.cm-h1{font-size:27px;font-weight:700;letter-spacing:-.015em;line-height:1.15;font-family:var(--f-serif)}
.cm-h2{font-size:16px;font-weight:700;letter-spacing:-.01em}
.cm-sub{font-size:13px;font-weight:450;color:var(--text-2);line-height:1.5}
/* crisp aligned figures for KPI values, money + numeric table cells */
.cm-stat-val,.cm-stat-sub,.cm-stat-trend,.dbv-table td,.dbv-count,.cm-card-title,.cm-nav-badge{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}
.cm-row{display:flex;align-items:center;gap:10px}
.cm-row.wrap{flex-wrap:wrap}
.cm-between{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cm-spacer{flex:1}
.cm-hide{display:none!important}

/* ---- App shell ------------------------------------------------------------- */
.cm-app{display:flex;min-height:100vh;position:relative}
.cm-sidebar{width:var(--sb-w);flex-shrink:0;background:var(--bg-2);border-right:1px solid var(--border);
  display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow:hidden;transition:width .2s,transform .2s}
.cm-sidebar-head{display:flex;align-items:center;gap:10px;padding:14px 14px 10px}
.cm-brand-logo{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;
  background:linear-gradient(135deg,var(--ac),var(--ac-2));box-shadow:0 3px 10px rgba(184,114,45,.3)}
.cm-brand-name{font-family:var(--f-serif);font-size:18px;font-weight:700;line-height:1.05}
.cm-brand-tag{font-size:10px;color:var(--text-3);letter-spacing:.4px}
.cm-sidebar-nav{flex:1;overflow-y:auto;padding:6px 8px 16px}
.cm-nav-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);padding:12px 10px 4px}
.cm-nav-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--r-sm);color:var(--text-2);
  cursor:pointer;font-size:13.5px;font-weight:500;border:none;background:none;width:100%;text-align:left;font-family:var(--f);transition:background .12s,color .12s}
.cm-nav-item:hover{background:var(--bg-hover);color:var(--text)}
.cm-nav-item.active{background:var(--ac-soft);color:var(--ac);font-weight:600;box-shadow:inset 2px 0 0 var(--ac)}
.cm-nav-ico{width:18px;text-align:center;font-size:15px;flex-shrink:0}
.cm-nav-badge{margin-left:auto;font-size:10.5px;font-weight:700;background:var(--ac-soft-2);color:var(--ac);padding:1px 7px;border-radius:10px}
.cm-nav-item.active .cm-nav-badge{background:var(--ac);color:#fff}
.cm-sidebar-foot{padding:10px 12px;border-top:1px solid var(--border);font-size:11px;color:var(--text-3);line-height:1.5}
.cm-sidebar-foot b{color:var(--text-2)}

.cm-main{flex:1;min-width:0;display:flex;flex-direction:column}
.cm-topbar{height:50px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:0 16px;
  background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}
.cm-burger{display:none;background:none;border:none;color:var(--text);font-size:20px;cursor:pointer;padding:4px 6px;border-radius:6px}
.cm-burger:hover{background:var(--bg-hover)}
.cm-crumb{font-size:14px;font-weight:600;display:flex;align-items:center;gap:7px}
.cm-crumb .cm-nav-ico{font-size:16px}
.cm-content{padding:22px 26px 60px;max-width:1380px;width:100%;margin:0 auto}
.cm-page{animation:cmFade .25s ease both}
@keyframes cmFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* topbar pieces */
.cm-cmd-trigger{display:flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--border);
  border-radius:var(--r);padding:6px 10px;color:var(--text-3);font-size:12.5px;cursor:pointer;min-width:200px;transition:border-color .15s}
.cm-cmd-trigger:hover{border-color:var(--ac-2)}
.cm-kbd{font-family:var(--f);font-size:10.5px;font-weight:700;background:var(--bg-3);border:1px solid var(--border-2);
  border-radius:5px;padding:1px 6px;color:var(--text-2)}
.cm-icon-btn{background:none;border:1px solid var(--border);border-radius:var(--r-sm);width:34px;height:34px;cursor:pointer;
  color:var(--text-2);font-size:15px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}
.cm-icon-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--ac-2)}

/* ---- Buttons --------------------------------------------------------------- */
.cm-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border-2);
  background:var(--card);color:var(--text);border-radius:var(--r-sm);padding:8px 14px;font-size:13px;font-weight:600;
  font-family:var(--f);cursor:pointer;transition:all .14s;white-space:nowrap;min-height:36px}
.cm-btn:hover{background:var(--bg-hover);transform:translateY(-1px)}
.cm-btn:active{transform:translateY(0)}
.cm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.cm-btn-pri{background:linear-gradient(135deg,var(--ac),var(--ac-strong));color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(184,114,45,.25)}
.cm-btn-pri:hover{box-shadow:0 5px 16px rgba(184,114,45,.35);background:linear-gradient(135deg,var(--ac),var(--ac-strong))}
.cm-btn-ghost{background:none;border-color:transparent;color:var(--text-2)}
.cm-btn-ghost:hover{background:var(--bg-hover);color:var(--text)}
.cm-btn-danger{background:var(--red);color:#fff;border-color:transparent}
.cm-btn-wa{background:var(--wa);color:#fff;border-color:transparent}
.cm-btn-sm{padding:5px 10px;font-size:12px;min-height:30px;border-radius:var(--r-sm)}
.cm-btn-block{width:100%}

/* ---- Inputs ---------------------------------------------------------------- */
.cm-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-2);margin-bottom:5px;display:block}
.cm-input,.cm-select,.cm-textarea{width:100%;padding:9px 12px;border:1px solid var(--border-2);border-radius:var(--r-sm);
  font-size:13.5px;font-family:var(--f);background:var(--bg);color:var(--text);transition:border-color .15s,box-shadow .15s}
.cm-input:focus,.cm-select:focus,.cm-textarea:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px var(--ac-soft)}
.cm-textarea{resize:vertical;min-height:64px;line-height:1.5}
.cm-select{cursor:pointer}
.cm-field{margin-bottom:12px}
.cm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cm-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

/* ---- Cards / stats --------------------------------------------------------- */
.cm-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden;transition:box-shadow .18s,border-color .18s}
.cm-card-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cm-card-title{font-size:14px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.cm-card-body{padding:18px}
.cm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:13px;margin-bottom:20px}
.cm-stat{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;position:relative;overflow:hidden;box-shadow:var(--sh-1);transition:box-shadow .18s,transform .18s,border-color .18s}
.cm-stat:hover{box-shadow:var(--sh-hover);transform:translateY(-2px);border-color:var(--border-2)}
.cm-stat-bar{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ac),var(--ac-2))}
.cm-stat-label{font-size:11.5px;color:var(--text-2);font-weight:700;text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:6px}
.cm-stat-val{font-size:28px;font-weight:800;letter-spacing:-.02em;margin-top:5px;line-height:1.08;font-family:var(--f-serif);color:var(--text)}
.cm-stat-sub{font-size:11.5px;font-weight:500;color:var(--text-2);margin-top:3px;line-height:1.4}
.cm-stat-trend{font-size:11px;font-weight:700}
.cm-trend-up{color:var(--green)} .cm-trend-down{color:var(--red)}

/* ---- Pills / badges -------------------------------------------------------- */
.cm-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:700;white-space:nowrap;
  background:var(--bg-3);color:var(--text-2)}
.cm-pill.is-green{background:var(--green-soft);color:var(--green-text)}
.cm-pill.is-red{background:var(--red-soft);color:var(--red-text)}
.cm-pill.is-amber{background:var(--amber-soft);color:var(--amber-text)}
.cm-pill.is-blue{background:var(--blue-soft);color:var(--blue-text)}
.cm-pill.is-violet{background:var(--violet-soft);color:var(--violet-text)}
.cm-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.cm-veg{width:14px;height:14px;border:2px solid var(--green);border-radius:3px;display:inline-flex;align-items:center;justify-content:center}
.cm-veg::after{content:'';width:7px;height:7px;border-radius:50%;background:var(--green)}
.cm-nonveg{width:14px;height:14px;border:2px solid var(--red);border-radius:3px;display:inline-flex;align-items:center;justify-content:center}
.cm-nonveg::after{content:'';width:7px;height:7px;border-radius:50%;background:var(--red)}

/* ---- Database view (Table / Board / Calendar / Gallery) -------------------- */
.dbv{display:flex;flex-direction:column;gap:12px}
.dbv-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dbv-views{display:inline-flex;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r);padding:2px;gap:2px}
.dbv-view-btn{border:none;background:none;color:var(--text-2);font-size:12.5px;font-weight:600;font-family:var(--f);
  padding:5px 11px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .12s}
.dbv-view-btn:hover{color:var(--text)}
.dbv-view-btn.active{background:var(--card);color:var(--ac);box-shadow:var(--sh-1)}
.dbv-search{flex:1;min-width:150px;max-width:280px}
.dbv-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--border);
  border-radius:20px;padding:5px 11px;font-size:12px;font-weight:600;color:var(--text-2);cursor:pointer;transition:all .12s}
.dbv-chip:hover{border-color:var(--ac-2);color:var(--text)}
.dbv-chip.on{background:var(--ac-soft);color:var(--ac);border-color:transparent}
.dbv-count{font-size:12px;color:var(--text-3);font-weight:600}

/* table */
.dbv-tablewrap{border:1px solid var(--border);border-radius:var(--r-lg);overflow:auto;background:var(--card);box-shadow:var(--sh-1)}
table.dbv-table{width:100%;border-collapse:collapse;font-size:13.5px}
.dbv-table th{position:sticky;top:0;background:var(--bg-2);text-align:left;font-size:11.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;color:var(--text-2);padding:10px 13px;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1;cursor:pointer;user-select:none}
.dbv-table th:hover{color:var(--text)}
.dbv-table th .sort-ind{font-size:9px;color:var(--ac)}
.dbv-table td{padding:9px 13px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);font-weight:450}
.dbv-table tr:last-child td{border-bottom:none}
.dbv-table tbody tr{transition:background .1s}
.dbv-table tbody tr:hover{background:var(--bg-hover)}
.dbv-cell-edit{cursor:text;border-radius:4px;padding:2px 5px;margin:-2px -5px;transition:box-shadow .12s}
.dbv-cell-edit:hover{box-shadow:inset 0 0 0 1px var(--border-2)}
.dbv-cell-edit:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ac);background:var(--bg)}
.dbv-rowact{display:flex;gap:5px;opacity:0;transition:opacity .12s}
.dbv-table tr:hover .dbv-rowact{opacity:1}

/* board / kanban */
.dbv-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}
.dbv-col{flex:0 0 290px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);max-height:74vh;display:flex;flex-direction:column}
.dbv-col-head{padding:11px 14px;font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.dbv-col-head .cnt{font-size:11px;color:var(--text-3);background:var(--bg-3);border-radius:10px;padding:1px 8px}
.dbv-col-cards{padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;min-height:60px;flex:1}
.dbv-col.drag-over{outline:2px dashed var(--ac);outline-offset:-3px}
.dbv-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:11px 13px;cursor:grab;box-shadow:var(--sh-1);transition:box-shadow .12s,transform .12s}
.dbv-card:hover{box-shadow:0 4px 14px rgba(20,16,10,.1);transform:translateY(-1px)}
.dbv-card.dragging{opacity:.4;cursor:grabbing}
.dbv-card-title{font-weight:700;font-size:13.5px;margin-bottom:4px}
.dbv-card-meta{font-size:11.5px;color:var(--text-2);display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* calendar */
.dbv-cal-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.dbv-cal-dow{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-3);text-align:center;padding:4px}
.dbv-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.dbv-cal-cell{min-height:92px;background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:6px 7px;font-size:11.5px}
.dbv-cal-cell.muted{background:var(--bg-2);opacity:.5}
.dbv-cal-cell.today{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.dbv-cal-num{font-weight:700;color:var(--text-2);font-size:12px;margin-bottom:4px}
.dbv-cal-ev{background:var(--ac-soft);color:var(--ac);border-radius:5px;padding:2px 6px;font-size:11px;font-weight:600;
  margin-bottom:3px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dbv-cal-ev.is-red{background:var(--red-soft);color:var(--red-text)}
.dbv-cal-ev.is-green{background:var(--green-soft);color:var(--green-text)}

/* gallery */
.dbv-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.dbv-gcard{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:15px;box-shadow:var(--sh-1);cursor:pointer;transition:transform .12s,box-shadow .12s}
.dbv-gcard:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(20,16,10,.1)}
.dbv-empty{padding:48px 20px;text-align:center;color:var(--text-3);font-size:13px}

/* ---- Command palette ------------------------------------------------------- */
.cmdk-overlay{position:fixed;inset:0;background:rgba(15,10,6,.45);backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:13vh 16px 16px}
.cmdk{width:100%;max-width:640px;background:var(--card);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--sh-2);overflow:hidden;animation:cmdkIn .16s ease both}
@keyframes cmdkIn{from{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}
.cmdk-input{width:100%;border:none;border-bottom:1px solid var(--border);background:none;color:var(--text);font-size:16px;padding:16px 18px;font-family:var(--f)}
.cmdk-input:focus{outline:none}
.cmdk-list{max-height:54vh;overflow-y:auto;padding:7px}
.cmdk-grouplabel{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);padding:10px 12px 4px}
.cmdk-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--r-sm);cursor:pointer;font-size:13.5px}
.cmdk-item .ico{width:20px;text-align:center;font-size:15px}
.cmdk-item .desc{color:var(--text-3);font-size:11.5px;margin-left:auto}
.cmdk-item.sel{background:var(--ac-soft)}
.cmdk-item.sel .desc{color:var(--ac)}
.cmdk-empty{padding:26px;text-align:center;color:var(--text-3);font-size:13px}

/* ---- Modal / toast --------------------------------------------------------- */
.cm-modal-bg{position:fixed;inset:0;background:rgba(15,10,6,.5);backdrop-filter:blur(2px);z-index:900;display:flex;align-items:flex-start;justify-content:center;padding:24px 14px;overflow-y:auto}
.cm-modal{background:var(--card);border-radius:var(--r-lg);width:100%;max-width:600px;margin:24px auto;box-shadow:var(--sh-2);animation:cmdkIn .16s ease both;border:1px solid var(--border)}
.cm-modal.wide{max-width:840px}
.cm-modal-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}
.cm-modal-title{font-size:16px;font-weight:700;font-family:var(--f-serif)}
.cm-modal-body{padding:20px;max-height:70vh;overflow-y:auto}
.cm-modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.cm-x{background:none;border:none;color:var(--text-3);font-size:22px;cursor:pointer;line-height:1;padding:0 4px;border-radius:6px}
.cm-x:hover{background:var(--bg-hover);color:var(--text)}
.cm-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#1f1b16;color:#fff;padding:12px 24px;
  border-radius:var(--r);font-size:13.5px;font-weight:600;z-index:1100;box-shadow:var(--sh-2);animation:toastIn .25s;max-width:90vw}
[data-theme="dark"] .cm-toast{background:#2c2c2c;border:1px solid var(--border-2)}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

/* ---- AI ------------------------------------------------------------------- */
.cm-ai-card{background:linear-gradient(135deg,#241c14,#3a2616);border:1px solid var(--border-2);border-radius:var(--r-lg);padding:18px;color:#f6ead9;position:relative;overflow:hidden}
.cm-ai-card::after{content:'';position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(212,165,116,.18),transparent 70%);top:-120px;right:-60px}
.cm-ai-bar{display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(212,165,116,.25);border-radius:var(--r);padding:5px 6px 5px 14px;position:relative;z-index:1}
.cm-ai-bar input{flex:1;background:none;border:none;color:#fff;font-size:14px;font-family:var(--f);padding:8px 0}
.cm-ai-bar input:focus{outline:none}
.cm-ai-bar input::placeholder{color:rgba(246,234,217,.5)}
.cm-ai-out{background:var(--card-2);border:1px solid var(--border);border-left:3px solid var(--ac);border-radius:var(--r);
  padding:15px 17px;font-size:13.5px;line-height:1.7;white-space:pre-wrap;color:var(--text);margin-top:12px}
.cm-ai-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;position:relative;z-index:1}
.cm-ai-chip{background:rgba(255,255,255,.08);border:1px solid rgba(212,165,116,.25);color:#f0dcc4;font-size:12px;font-weight:600;
  padding:6px 12px;border-radius:18px;cursor:pointer;transition:background .14s}
.cm-ai-chip:hover{background:rgba(212,165,116,.22)}
.cm-typing{display:inline-flex;gap:5px;padding:6px 0}
.cm-typing span{width:7px;height:7px;border-radius:50%;background:var(--ac-2);animation:cmBnc .6s infinite alternate}
.cm-typing span:nth-child(2){animation-delay:.2s}.cm-typing span:nth-child(3){animation-delay:.4s}
@keyframes cmBnc{to{transform:translateY(-7px);opacity:.3}}

/* slide-over AI panel */
.cm-ai-panel{position:fixed;top:0;right:0;height:100vh;width:420px;max-width:92vw;background:var(--card);border-left:1px solid var(--border);
  box-shadow:var(--sh-2);z-index:950;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s}
.cm-ai-panel.open{transform:none}
.cm-ai-panel-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.cm-ai-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.cm-ai-msg{max-width:88%;padding:11px 14px;border-radius:12px;font-size:13.5px;line-height:1.6;white-space:pre-wrap}
.cm-ai-msg.user{align-self:flex-end;background:var(--ac);color:#fff;border-bottom-right-radius:4px}
.cm-ai-msg.bot{align-self:flex-start;background:var(--bg-2);border:1px solid var(--border);border-bottom-left-radius:4px}
.cm-ai-panel-foot{padding:12px;border-top:1px solid var(--border);display:flex;gap:8px}

/* ---- Insight / brief blocks ----------------------------------------------- */
.cm-insight{display:flex;gap:11px;padding:12px 14px;border-radius:var(--r);background:var(--bg-2);border:1px solid var(--border);align-items:flex-start}
.cm-insight .ico{font-size:18px;flex-shrink:0;margin-top:1px}
.cm-insight-t{font-weight:700;font-size:13px}
.cm-insight-d{font-size:12.5px;color:var(--text-2);margin-top:2px}
.cm-insight.warn{border-left:3px solid var(--amber)}
.cm-insight.bad{border-left:3px solid var(--red)}
.cm-insight.good{border-left:3px solid var(--green)}
.cm-insight.tip{border-left:3px solid var(--violet)}
.cm-list{display:flex;flex-direction:column;gap:9px}

/* progress / meter */
.cm-meter{height:7px;border-radius:5px;background:var(--bg-3);overflow:hidden}
.cm-meter span{display:block;height:100%;border-radius:5px;background:var(--ac)}
.cm-risk-low span{background:var(--green)} .cm-risk-med span{background:var(--amber)} .cm-risk-high span{background:var(--red)}

/* skeleton */
.cm-skel{background:linear-gradient(90deg,var(--bg-2) 25%,var(--bg-3) 50%,var(--bg-2) 75%);background-size:200% 100%;
  animation:cmShim 1.2s infinite;border-radius:var(--r-sm)}
@keyframes cmShim{to{background-position:-200% 0}}

/* login */
.cm-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
  background:linear-gradient(135deg,#0f0a06,#1a120b,#3d2014);position:relative;overflow:hidden}
.cm-login::before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(184,114,45,.14),transparent 70%);top:-120px;right:-100px}
.cm-login-card{background:var(--card);border-radius:18px;padding:36px 32px;max-width:400px;width:100%;box-shadow:var(--sh-2);position:relative;z-index:1}

/* ---- Responsive ----------------------------------------------------------- */
.cm-scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:39}
/* native bottom tab bar (mobile only — admin shell) */
.cm-bottombar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:35;justify-content:space-around;
  background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -2px 14px -8px rgba(0,0,0,.25);padding-bottom:env(safe-area-inset-bottom,0px)}
.cm-bottombar button{flex:1;background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  padding:8px 2px 6px;color:var(--text-3);font-size:10.5px;font-weight:600;font-family:inherit;cursor:pointer;min-height:56px;transition:color .15s}
.cm-bottombar button .ic{font-size:20px;line-height:1}
.cm-bottombar button:active{background:var(--bg-hover)}
.cm-bottombar button.active{color:var(--ac)}

@media(max-width:900px){
  /* native app bar */
  .cm-topbar{height:auto;min-height:56px;padding:calc(env(safe-area-inset-top,0px) + 6px) 10px 6px;gap:4px;
    background:var(--bg);backdrop-filter:none;box-shadow:0 1px 0 var(--border),0 3px 12px -8px rgba(0,0,0,.25)}
  .cm-burger{display:inline-flex;font-size:22px;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%}
  .cm-crumb{font-size:16px;font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* collapse desktop ⌘K search into a single icon */
  .cm-cmd-trigger{min-width:0;width:40px;height:40px;justify-content:center;padding:0;border-radius:50%;flex:0 0 auto}
  .cm-cmd-trigger .cm-spacer,.cm-cmd-trigger .cm-kbd{display:none}
  /* drawer */
  .cm-sidebar{position:fixed;z-index:40;top:0;bottom:0;width:84vw;max-width:320px;transform:translateX(-100%);
    border-right:none;border-radius:0 18px 18px 0;box-shadow:0 12px 44px -8px rgba(20,12,6,.5);
    transition:transform .26s cubic-bezier(.2,.85,.25,1);padding-top:env(safe-area-inset-top,0px)}
  .cm-sidebar.open{transform:none}
  .cm-scrim.show{display:block}
  .cm-nav-item{min-height:46px;padding:11px 14px;font-size:14.5px;border-radius:12px}
  .cm-nav-ico{font-size:18px}
  /* content + alignment */
  .cm-content{padding:16px 14px calc(74px + env(safe-area-inset-bottom,0px));max-width:none}
  .cm-grid-2,.cm-grid-3{grid-template-columns:1fr}
  .cm-between{flex-wrap:wrap;gap:8px}
  .cm-card{border-radius:16px}
  .dbv-col{flex-basis:260px}
  .dbv-table-wrap,.cm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cm-bottombar{display:flex}
}
@media(max-width:560px){
  .cm-stats{grid-template-columns:1fr 1fr}
  .cm-stat-val{font-size:23px}
  .cm-h1{font-size:21px}
  .dbv-cal-cell{min-height:64px}
  .cm-ai-panel{width:100vw}
  .cm-card-body{padding:14px}
}
@media print{.cm-sidebar,.cm-topbar,.cm-ai-panel,.cm-toast,.dbv-toolbar,.cm-burger{display:none!important}.cm-content{padding:0;max-width:none}body{background:#fff}}
