@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
  --blue-deep:  #1A3A5C;
  --blue-mid:   #2563A8;
  --blue-light: #EBF4FF;
  --green:      #2ECC8A;
  --green-dark: #1A9E65;
  --amber:      #F5A623;
  --amber-dark: #C47D0A;
  --red:        #E53E3E;
  --red-dark:   #b91c1c;
  --purple:     #7C3AED;
  --purple-lt:  #9F67F5;
  --bg:         #0F1E30;
  --bg2:        #162840;
  --bg3:        #1E3452;
  --border:     rgba(255,255,255,.08);
  --text:       #1E293B;
  --tw:         #fff;
  --tw2:        rgba(255,255,255,.7);
  --tw3:        rgba(255,255,255,.4);
  --sidebar-w:  240px;
  --topbar-h:   56px;
  --bottom-h:   64px;
}

* { box-sizing:border-box; margin:0; padding:0; }
html,body { height:100%; }
body { font-family:'Inter',sans-serif; background:var(--bg); color:var(--tw); overflow-x:hidden; }

/* ══════════════════════════════
   SIDEBAR
══════════════════════════════ */
.sidebar {
  position:fixed; top:0; left:0; bottom:0;
  width:var(--sidebar-w);
  background:var(--bg2);
  border-right:1px solid var(--border);
  display:flex; flex-direction:column;
  z-index:300;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.sidebar-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 16px 14px;
  border-bottom:1px solid var(--border);
}
.sidebar-logo { display:flex; align-items:center; gap:10px; }
.logo-icon { font-size:26px; }
.logo-text  { font-size:17px; font-weight:900; color:var(--tw); letter-spacing:-.5px; }
.sidebar-close { display:none; background:none; border:none; color:var(--tw3); font-size:18px; cursor:pointer; padding:4px; }

.sidebar-user {
  display:flex; align-items:center; gap:10px;
  padding:14px 16px;
  border-bottom:1px solid var(--border);
}
.su-avatar {
  width:36px; height:36px; border-radius:10px;
  background:linear-gradient(135deg,var(--blue-mid),var(--purple));
  display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:800; color:#fff; flex-shrink:0;
}
.su-nome  { font-size:13px; font-weight:700; color:var(--tw); }
.su-plano { font-size:11px; color:var(--tw3); text-transform:capitalize; }

.sidebar-nav { flex:1; padding:10px 8px; display:flex; flex-direction:column; gap:2px; overflow-y:auto; }
.sidebar-footer { padding:10px 8px; border-top:1px solid var(--border); }

.sn-item {
  display:flex; align-items:center; gap:12px;
  padding:10px 12px; border-radius:12px;
  text-decoration:none; color:var(--tw2);
  font-size:13px; font-weight:600;
  transition:all .2s; cursor:pointer; border:none; background:none; width:100%;
}
.sn-item:hover { background:rgba(255,255,255,.06); color:var(--tw); }
.sn-active { background:linear-gradient(135deg,rgba(37,99,168,.4),rgba(37,99,168,.2)); color:#fff; }
.sn-active .sn-icon { filter:none; }
.sn-icon  { font-size:18px; flex-shrink:0; }
.sn-label { font-size:13px; }
.sn-logout:hover { background:rgba(229,62,62,.15); color:var(--red); }

/* SIDEBAR COLLAPSED (desktop) */
body.sidebar-collapsed .sidebar { width:60px; }
body.sidebar-collapsed .sidebar .logo-text,
body.sidebar-collapsed .sidebar .sn-label,
body.sidebar-collapsed .sidebar .su-info,
body.sidebar-collapsed .sidebar .sidebar-close { display:none; }
body.sidebar-collapsed .sidebar .sidebar-logo { justify-content:center; }
body.sidebar-collapsed .sidebar .sidebar-user { justify-content:center; }
body.sidebar-collapsed .sidebar .sn-item { justify-content:center; padding:10px; }
body.sidebar-collapsed .main-content { margin-left:60px; }
body.sidebar-collapsed .topbar { left:60px; }

/* ══════════════════════════════
   TOPBAR
══════════════════════════════ */
.topbar {
  position:fixed; top:0; left:var(--sidebar-w); right:0; height:var(--topbar-h);
  background:var(--bg2); border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:12px; padding:0 16px;
  z-index:200; transition:left .3s cubic-bezier(.4,0,.2,1);
}
.topbar-toggle {
  background:none; border:none; cursor:pointer; padding:6px;
  display:flex; flex-direction:column; gap:4px; flex-shrink:0;
}
.topbar-toggle span {
  display:block; width:20px; height:2px; background:var(--tw2); border-radius:2px;
  transition:all .2s;
}
.topbar-title { font-size:15px; font-weight:800; color:var(--tw); flex:1; }
.topbar-right { display:flex; align-items:center; gap:8px; }

/* ══════════════════════════════
   MAIN CONTENT
══════════════════════════════ */
.main-content {
  margin-left:var(--sidebar-w);
  margin-top:var(--topbar-h);
  min-height:calc(100vh - var(--topbar-h));
  padding:20px;
  transition:margin-left .3s cubic-bezier(.4,0,.2,1);
}
.main-login { margin-left:0; margin-top:0; display:flex; align-items:center; justify-content:center; min-height:100vh; }

/* ══════════════════════════════
   BOTTOM NAV (mobile only)
══════════════════════════════ */
.bottom-nav {
  display:none;
  position:fixed; bottom:0; left:0; right:0; height:var(--bottom-h);
  background:var(--bg2); border-top:1px solid var(--border);
  z-index:300;
  padding:0 4px;
  align-items:center; justify-content:space-around;
}
.bn-item {
  display:flex; flex-direction:column; align-items:center; gap:3px;
  text-decoration:none; color:var(--tw3); padding:8px 14px;
  border-radius:12px; transition:all .2s; flex:1; text-align:center;
}
.bn-item:hover,.bn-active { color:var(--green); }
.bn-active { background:rgba(46,204,138,.1); }
.bn-icon  { font-size:20px; line-height:1; }
.bn-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }

/* ══════════════════════════════
   SIDEBAR OVERLAY (mobile)
══════════════════════════════ */
.sidebar-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.6); z-index:299; backdrop-filter:blur(2px);
}

/* ══════════════════════════════
   MOBILE BREAKPOINT
══════════════════════════════ */
@media(max-width:768px){
  .sidebar { transform:translateX(-100%); }
  body.sidebar-open .sidebar { transform:translateX(0); }
  body.sidebar-open .sidebar-overlay { display:block; }
  .sidebar-close { display:block !important; }
  .topbar { left:0; }
  .main-content { margin-left:0; padding:12px 12px 80px; }
  .bottom-nav { display:flex; }
  body.sidebar-collapsed .sidebar { width:var(--sidebar-w); }
  body.sidebar-collapsed .main-content { margin-left:0; }
  body.sidebar-collapsed .topbar { left:0; }
}

/* ══════════════════════════════
   CARDS E COMPONENTES
══════════════════════════════ */
.page { display:flex; flex-direction:column; gap:16px; max-width:1200px; margin:0 auto; }

.card { background:var(--bg2); border:1px solid var(--border); border-radius:16px; padding:18px; }
.card-white { background:#fff; border-radius:16px; padding:18px; }
.card-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--blue-mid); margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.card-title-light { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--tw3); margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.card-title .card-white { color:var(--blue-mid); }

/* FLASH */
.flash { padding:8px 12px; border-radius:10px; font-size:12px; font-weight:600; }
.flash-error   { background:rgba(229,62,62,.2); color:#fc8181; border:1px solid rgba(229,62,62,.3); }
.flash-success { background:rgba(46,204,138,.15); color:var(--green); border:1px solid rgba(46,204,138,.3); }

/* MEAL GRID */
.meal-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
@media(max-width:480px){ .meal-grid { grid-template-columns:1fr 1fr; } }
.meal-btn { border:2px solid var(--border); background:var(--bg3); border-radius:12px; padding:10px 6px; cursor:pointer; transition:all .2s; display:flex; flex-direction:column; align-items:center; gap:4px; }
.meal-btn .emoji { font-size:22px; }
.meal-btn .label { font-size:11px; font-weight:600; color:var(--tw2); text-align:center; }
.meal-btn.active { border-color:var(--blue-mid); background:rgba(37,99,168,.2); }
.meal-btn.active .label { color:#fff; }

/* SEARCH */
.search-wrap { position:relative; }
.search-wrap input { width:100%; border:1.5px solid var(--border); border-radius:10px; padding:10px 14px 10px 38px; font-family:'Inter',sans-serif; font-size:14px; color:var(--tw); background:var(--bg3); outline:none; transition:border-color .2s; }
.search-wrap input::placeholder { color:var(--tw3); }
.search-wrap input:focus { border-color:var(--blue-mid); }
.search-icon { position:absolute; left:12px; top:50%; transform:translateY(-50%); font-size:15px; }
#food-dropdown { position:absolute; top:calc(100% + 4px); left:0; right:0; background:var(--bg2); border:1.5px solid var(--blue-mid); border-radius:12px; max-height:220px; overflow-y:auto; z-index:200; box-shadow:0 8px 24px rgba(0,0,0,.4); display:none; }
.food-option { padding:10px 14px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; transition:background .15s; border-bottom:1px solid var(--border); }
.food-option:last-child { border-bottom:none; }
.food-option:hover { background:rgba(255,255,255,.06); }
.food-option .fname { font-size:13px; font-weight:500; color:var(--tw); }
.food-option .cho-tag { font-size:11px; font-weight:700; background:var(--amber); color:#fff; padding:2px 8px; border-radius:8px; }

/* PORTION ROW */
.portion-row { display:flex; align-items:center; gap:8px; margin-top:8px; }
.portion-row label { font-size:12px; font-weight:600; color:var(--tw2); white-space:nowrap; }
.portion-row input[type=number] { flex:1; border:1.5px solid var(--border); border-radius:10px; padding:9px 12px; font-family:'Inter',sans-serif; font-size:15px; font-weight:700; color:var(--tw); background:var(--bg3); outline:none; transition:border-color .2s; }
.portion-row input:focus { border-color:var(--green); }
.portion-row .unit { font-size:12px; color:var(--tw3); }
.btn-add-sm { background:var(--green-dark); color:#fff; border:none; border-radius:10px; padding:9px 14px; font-size:16px; cursor:pointer; flex-shrink:0; }
.btn-add-sm:hover { background:var(--green); }

/* FOOD LIST */
.food-item-sm { display:flex; align-items:center; gap:8px; background:var(--bg3); border:1px solid var(--border); border-radius:10px; padding:8px 10px; animation:fadeIn .2s ease; }
@keyframes fadeIn { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }
.fis-info { flex:1; min-width:0; }
.fis-name { font-size:12px; font-weight:600; color:var(--tw); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fis-detail { font-size:10px; color:var(--tw3); }
.fis-detail strong { color:var(--amber); }
.fi-remove { background:none; border:none; cursor:pointer; font-size:15px; color:var(--tw3); transition:color .15s; flex-shrink:0; }
.fi-remove:hover { color:var(--red); }
.empty-msg-sm { text-align:center; padding:14px; color:var(--tw3); font-size:12px; background:var(--bg3); border:1px solid var(--border); border-radius:10px; }

/* BUTTONS */
.btn-primary { width:100%; background:var(--blue-mid); color:#fff; border:none; border-radius:12px; padding:12px; font-family:'Inter',sans-serif; font-size:14px; font-weight:700; cursor:pointer; transition:all .2s; display:flex; align-items:center; justify-content:center; gap:8px; }
.btn-primary:hover { background:var(--blue-deep); }
.btn-save { width:100%; background:linear-gradient(135deg,var(--green-dark),var(--green)); color:#fff; border:none; border-radius:12px; padding:13px; font-family:'Inter',sans-serif; font-size:14px; font-weight:800; cursor:pointer; transition:opacity .2s; display:flex; align-items:center; justify-content:center; gap:8px; }
.btn-save:hover { opacity:.9; }
.btn-ghost { width:100%; background:none; border:1.5px solid var(--border); border-radius:12px; padding:11px; font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:var(--tw2); cursor:pointer; transition:all .2s; display:flex; align-items:center; justify-content:center; gap:8px; }
.btn-ghost:hover { background:rgba(255,255,255,.06); color:var(--tw); }

/* CALC LAYOUT */
.calc-cols { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:600px){ .calc-cols { grid-template-columns:1fr; } }
.calc-col  { display:flex; flex-direction:column; gap:10px; }
.col-header { border-radius:12px; padding:10px 14px; font-size:12px; font-weight:800; color:#fff; text-align:center; }
.glicemia-col-header  { background:linear-gradient(135deg,var(--purple),var(--purple-lt)); }
.refeicao-col-header  { background:linear-gradient(135deg,var(--green-dark),var(--green)); }

/* GLICEMIA INPUT */
.gluco-big-input { width:100%; border:2px solid var(--border); border-radius:12px; padding:12px; font-family:'Inter',sans-serif; font-size:32px; font-weight:900; text-align:center; color:var(--tw); background:var(--bg3); outline:none; transition:border-color .2s; }
.gluco-big-input:focus { border-color:var(--purple); }
.gluco-now-status { margin-top:8px; display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; justify-content:center; }
.gluco-now-status.hidden { display:none; }

/* CORREÇÃO BOX */
.corr-box { background:var(--bg3); border:1px solid var(--border); border-radius:12px; padding:12px 14px; text-align:center; }
.corr-label { font-size:10px; font-weight:700; color:var(--tw3); text-transform:uppercase; letter-spacing:1px; }
.corr-val   { font-size:28px; font-weight:900; color:var(--purple-lt); line-height:1.2; margin-top:4px; }
.corr-desc  { font-size:10px; color:var(--tw3); margin-top:4px; }

/* REPO BOX */
.repo-box { background:rgba(124,58,237,.12); border:1px solid rgba(124,58,237,.3); border-radius:12px; padding:10px 12px; }
.repo-box.hidden { display:none; }
.repo-label { font-size:12px; font-weight:800; color:var(--purple-lt); }
.repo-desc  { font-size:10px; color:var(--purple-lt); opacity:.8; margin-top:2px; }
.repo-cho   { font-size:11px; font-weight:700; color:var(--purple-lt); margin-top:6px; background:rgba(124,58,237,.1); padding:6px 8px; border-radius:8px; }

/* CHO TOTAL BOX */
.cho-total-box { background:linear-gradient(135deg,var(--green-dark),var(--green)); border-radius:12px; padding:10px 14px; text-align:center; }
.cho-total-label { font-size:10px; font-weight:700; color:rgba(255,255,255,.7); text-transform:uppercase; letter-spacing:1px; }
.cho-total-val   { font-size:20px; font-weight:900; color:#fff; }
.cho-total-ui    { font-size:11px; color:rgba(255,255,255,.8); font-weight:600; margin-top:2px; }

/* RESULTADO FINAL */
.result-final { border-radius:16px; overflow:hidden; }
.result-final.rf-ok   { background:linear-gradient(135deg,var(--green-dark),var(--green)); }
.result-final.rf-warn { background:linear-gradient(135deg,var(--amber-dark),var(--amber)); }
.result-final.rf-high { background:linear-gradient(135deg,var(--red-dark),var(--red)); }
.rf-title { font-size:11px; font-weight:800; color:rgba(255,255,255,.8); text-transform:uppercase; letter-spacing:1px; text-align:center; padding:14px 14px 0; }
.rf-cols  { display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 14px; flex-wrap:wrap; }
.rf-item  { text-align:center; }
.rf-val   { font-size:20px; font-weight:900; color:#fff; }
.rf-lbl   { font-size:9px; font-weight:700; color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:.5px; margin-top:2px; }
.rf-plus,.rf-equals { font-size:18px; font-weight:900; color:rgba(255,255,255,.5); padding:0 2px; }
.rf-total-item { background:rgba(255,255,255,.2); border-radius:10px; padding:6px 12px; }
.rf-total-val  { font-size:34px; font-weight:900; color:#fff; }
.rf-obs { font-size:12px; font-weight:700; color:rgba(255,255,255,.9); text-align:center; padding:0 14px 12px; }

/* LANTUS */
.lantus-notice { background:rgba(37,99,168,.2); border:1px solid rgba(37,99,168,.3); border-radius:14px; padding:12px 14px; display:flex; gap:10px; align-items:flex-start; }
.ln-icon { font-size:20px; flex-shrink:0; }
.ln-title { font-size:12px; font-weight:800; color:#fff; margin-bottom:3px; }
.ln-text { font-size:11px; color:var(--tw2); line-height:1.5; }

/* REF TABLE */
.ref-toggle { width:100%; background:none; border:1.5px solid var(--border); border-radius:12px; padding:10px 14px; font-family:'Inter',sans-serif; font-size:12px; font-weight:600; color:var(--tw2); cursor:pointer; transition:all .2s; display:flex; align-items:center; justify-content:center; gap:8px; }
.ref-toggle:hover { background:rgba(255,255,255,.05); color:var(--tw); }
.ref-table-wrap { display:none; }
.ref-table-wrap.open { display:block; }
.ref-table-wrap table { width:100%; border-collapse:collapse; font-size:12px; }
.ref-table-wrap th { background:rgba(255,255,255,.06); color:var(--tw3); font-weight:700; font-size:10px; text-transform:uppercase; padding:7px 10px; text-align:left; }
.ref-table-wrap td { padding:8px 10px; border-bottom:1px solid var(--border); color:var(--tw); }
.ref-table-wrap tr:last-child td { border-bottom:none; }
.ref-table-wrap tr.hl td { background:rgba(37,99,168,.2); font-weight:700; color:#fff; }
.ui-pill { display:inline-block; background:var(--blue-mid); color:#fff; font-size:11px; font-weight:800; padding:2px 10px; border-radius:99px; }

/* DISCLAIMER */
.disclaimer { background:rgba(245,166,35,.1); border:1px solid rgba(245,166,35,.25); border-radius:12px; padding:10px 12px; display:flex; gap:8px; align-items:flex-start; }
.di-icon { font-size:16px; flex-shrink:0; }
.disclaimer p { font-size:10px; color:var(--tw2); line-height:1.6; }
.disclaimer strong { color:var(--amber); }

/* GLUCO FORM */
.gluco-form { display:flex; flex-direction:column; gap:12px; }
.form-row { display:flex; gap:10px; }
.form-group { display:flex; flex-direction:column; gap:5px; flex:1; }
.form-group label { font-size:11px; font-weight:700; color:var(--tw3); text-transform:uppercase; letter-spacing:.5px; }
.form-group input,.form-group select { border:1.5px solid var(--border); border-radius:10px; padding:9px 12px; font-family:'Inter',sans-serif; font-size:14px; font-weight:600; color:var(--tw); background:var(--bg3); outline:none; transition:border-color .2s; width:100%; }
.form-group input:focus,.form-group select:focus { border-color:var(--blue-mid); }
.form-group input.gluco-input { font-size:22px; font-weight:900; text-align:center; }
.form-group select option { background:var(--bg2); }
.gluco-status { border-radius:12px; padding:10px 14px; display:flex; align-items:center; gap:10px; }
.gluco-status.hidden { display:none; }
.gs-icon { font-size:20px; } .gs-label { font-size:12px; font-weight:700; } .gs-desc { font-size:11px; opacity:.85; }
.gluco-status.hipo       { background:rgba(124,58,237,.15); border:1px solid rgba(124,58,237,.3); color:var(--purple-lt); }
.gluco-status.normal     { background:rgba(46,204,138,.1); border:1px solid rgba(46,204,138,.3); color:var(--green); }
.gluco-status.alto       { background:rgba(245,166,35,.1); border:1px solid rgba(245,166,35,.3); color:var(--amber); }
.gluco-status.muito-alto { background:rgba(229,62,62,.1); border:1px solid rgba(229,62,62,.3); color:var(--red); }

/* STATS */
.stats-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
.stat-box { background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:12px; padding:12px 10px; text-align:center; }
.stat-val { font-size:22px; font-weight:900; color:var(--tw); line-height:1; }
.stat-lbl { font-size:10px; color:var(--tw3); font-weight:600; margin-top:4px; text-transform:uppercase; letter-spacing:.5px; }
.stat-sub { font-size:11px; font-weight:700; margin-top:3px; }
.stat-sub.ok { color:var(--green); } .stat-sub.warn { color:var(--amber); } .stat-sub.alert { color:var(--red); }

/* CHART */
.chart-wrap { position:relative; width:100%; height:130px; }
canvas#gluco-chart { width:100% !important; height:100% !important; }

/* FILTER */
.filter-bar { display:flex; gap:6px; flex-wrap:wrap; }
.filter-btn { padding:6px 12px; border-radius:99px; border:1.5px solid var(--border); background:none; font-family:'Inter',sans-serif; font-size:11px; font-weight:600; color:var(--tw2); cursor:pointer; transition:all .2s; }
.filter-btn.active { background:var(--blue-mid); border-color:var(--blue-mid); color:#fff; }
.filter-btn-mini { padding:5px 10px; border-radius:99px; border:1.5px solid var(--border); background:none; font-family:'Inter',sans-serif; font-size:10px; font-weight:700; color:var(--tw2); cursor:pointer; transition:all .2s; }
.filter-btn-mini.active { background:rgba(37,99,168,.4); border-color:var(--blue-mid); color:#fff; }

/* TABELA HISTÓRICO */
.hist-table-wrap { overflow-x:auto; border-radius:10px; }
.hist-table { width:100%; border-collapse:collapse; font-size:12px; min-width:560px; }
.hist-table thead th { background:rgba(255,255,255,.05); color:var(--tw3); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; padding:9px 10px; text-align:left; border-bottom:1px solid var(--border); white-space:nowrap; }
.hist-table tbody tr { border-bottom:1px solid var(--border); transition:background .15s; }
.hist-table tbody tr:hover { background:rgba(255,255,255,.03); }
.hist-table tbody td { padding:10px 10px; color:var(--tw2); vertical-align:middle; }
.table-empty { text-align:center; padding:24px; color:var(--tw3); }
.td-date { font-size:12px; font-weight:700; color:var(--tw); }
.td-time { font-size:10px; color:var(--tw3); }
.td-obs  { font-size:11px; color:var(--tw3); max-width:160px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.td-del  { background:none; border:none; cursor:pointer; font-size:14px; color:var(--tw3); transition:color .15s; }
.td-del:hover { color:var(--red); }
.td-gluco { font-size:18px; font-weight:900; }
.td-hipo       { color:var(--purple-lt); }
.td-normal     { color:var(--green); }
.td-alto       { color:var(--amber); }
.td-muito-alto { color:var(--red); }
.td-cho { font-size:13px; font-weight:700; color:var(--amber); }
.td-ui-g { font-size:13px; font-weight:800; color:var(--purple-lt); }
.td-ui-r { font-size:13px; font-weight:800; color:var(--green); }
.td-vazio { color:rgba(255,255,255,.15) !important; }
.status-pill { display:inline-block; font-size:10px; font-weight:700; padding:3px 8px; border-radius:99px; text-transform:capitalize; white-space:nowrap; }
.pill-hipo       { background:rgba(124,58,237,.2); color:var(--purple-lt); border:1px solid rgba(124,58,237,.3); }
.pill-normal     { background:rgba(46,204,138,.12); color:var(--green); border:1px solid rgba(46,204,138,.3); }
.pill-alto       { background:rgba(245,166,35,.12); color:var(--amber); border:1px solid rgba(245,166,35,.3); }
.pill-muito-alto { background:rgba(229,62,62,.12); color:var(--red); border:1px solid rgba(229,62,62,.3); }
.tipo-pill { display:inline-block; font-size:10px; font-weight:700; padding:3px 8px; border-radius:99px; white-space:nowrap; }
.tipo-glicemia { background:rgba(124,58,237,.2); color:var(--purple-lt); border:1px solid rgba(124,58,237,.3); }
.tipo-refeicao { background:rgba(46,204,138,.12); color:var(--green); border:1px solid rgba(46,204,138,.3); }
.tr-refeicao td:first-child { border-left:3px solid var(--green); }
.tipo-lantus { background:rgba(37,99,168,.2); color:#7DA8E0; border:1px solid rgba(37,99,168,.4); }
.tr-lantus td:first-child { border-left:3px solid var(--blue-mid); }
.td-ui-l { font-size:13px; font-weight:800; color:#7DA8E0; }

.momento-edit { display:inline-flex; align-items:center; gap:6px; }
.momento-edit-btn { background:none; border:none; cursor:pointer; font-size:11px; opacity:.5; transition:opacity .15s; padding:0; }
.momento-edit-btn:hover { opacity:1; }
.momento-edit-select { background:var(--bg3); color:var(--tw); border:1.5px solid var(--blue-mid); border-radius:8px; padding:4px 8px; font-family:'Inter',sans-serif; font-size:12px; outline:none; }
.tr-hipo       td:first-child { border-left:3px solid var(--purple-lt); }
.tr-normal     td:first-child { border-left:3px solid var(--green); }
.tr-alto       td:first-child { border-left:3px solid var(--amber); }
.tr-muito-alto td:first-child { border-left:3px solid var(--red); }

/* ADMIN */
.admin-user-card { border:1px solid var(--border); border-radius:12px; padding:14px; margin-bottom:10px; background:var(--bg3); }
.admin-user-card.user-inativo { opacity:.55; }
.auc-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.auc-info { flex:1; }
.auc-nome { font-size:14px; font-weight:800; color:var(--tw); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.auc-email { font-size:12px; color:var(--tw3); margin-top:3px; }
.auc-meta  { font-size:11px; color:var(--tw3); margin-top:5px; line-height:1.7; }
.auc-edit  { margin-top:14px; border-top:1px solid var(--border); padding-top:14px; }
.btn-toggle-edit { background:rgba(255,255,255,.07); border:1px solid var(--border); border-radius:10px; padding:7px 12px; font-family:'Inter',sans-serif; font-size:12px; font-weight:700; color:var(--tw2); cursor:pointer; white-space:nowrap; }
.btn-toggle-edit:hover { background:rgba(37,99,168,.2); color:#fff; }
.badge-admin    { font-size:10px; font-weight:800; background:var(--blue-mid); color:#fff; padding:2px 8px; border-radius:99px; }
.badge-inativo  { font-size:10px; font-weight:800; background:rgba(255,255,255,.15); color:var(--tw2); padding:2px 8px; border-radius:99px; }
.badge-expirado { font-size:10px; font-weight:800; background:rgba(229,62,62,.3); color:var(--red); padding:2px 8px; border-radius:99px; }

/* LOGIN */
.login-wrap { width:100%; max-width:360px; padding:32px 20px; text-align:center; }
.login-icon { font-size:48px; margin-bottom:10px; }
.login-title { font-size:28px; font-weight:900; color:var(--tw); }
.login-sub { font-size:13px; color:var(--tw3); margin-top:4px; margin-bottom:28px; }
.login-card { background:var(--bg2); border:1px solid var(--border); border-radius:20px; padding:24px; }
.login-card .form-group label { color:var(--tw3); }
.login-card input { background:var(--bg3); color:var(--tw); border-color:var(--border); }
.login-card input:focus { border-color:var(--blue-mid); }

/* MODAL */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); backdrop-filter:blur(4px); z-index:500; display:none; align-items:center; justify-content:center; padding:16px; }
.modal-overlay.open { display:flex; }
.modal { background:var(--bg2); border:1px solid var(--border); border-radius:20px; padding:24px 20px; width:100%; max-width:380px; animation:slideUp .3s ease; }
@keyframes slideUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
.modal h2 { font-size:17px; font-weight:800; color:var(--tw); margin-bottom:6px; }
.modal p  { font-size:13px; color:var(--tw3); }
.modal-btns { display:flex; gap:10px; margin-top:20px; }
.btn-cancel  { flex:1; background:var(--bg3); border:1px solid var(--border); border-radius:12px; padding:12px; font-family:'Inter',sans-serif; font-size:13px; font-weight:700; color:var(--tw2); cursor:pointer; }
.btn-confirm { flex:1; background:var(--red); border:none; border-radius:12px; padding:12px; font-family:'Inter',sans-serif; font-size:13px; font-weight:700; color:#fff; cursor:pointer; }

/* TOAST */
.toast { position:fixed; bottom:80px; left:50%; transform:translateX(-50%) translateY(80px); background:var(--bg2); border:1px solid var(--border); color:var(--tw); padding:12px 20px; border-radius:12px; font-size:13px; font-weight:600; z-index:600; transition:transform .3s cubic-bezier(.4,0,.2,1); white-space:nowrap; box-shadow:0 8px 24px rgba(0,0,0,.4); }
.toast.show { transform:translateX(-50%) translateY(0); }
@media(min-width:769px){ .toast { bottom:24px; } }

/* BTN EXPORT */
.btn-export { background:rgba(255,255,255,.07); border:1.5px solid var(--border); border-radius:10px; padding:8px 14px; font-family:'Inter',sans-serif; font-size:12px; font-weight:700; color:var(--tw2); cursor:pointer; transition:all .2s; display:flex; align-items:center; gap:6px; }
.btn-export:hover { background:rgba(255,255,255,.12); color:var(--tw); }
