
:root{
  --pink:#e76098;
  --pink-soft:#f8d8e6;
  --dark:#151922;
  --dark-2:#202633;
  --bg:#f5f6f9;
  --card:#ffffff;
  --text:#20242d;
  --muted:#7b8492;
  --border:#e5e8ee;
  --green:#177846;
  --red:#a93649;
  --shadow:0 8px 28px rgba(0,0,0,.06);
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  min-height:100%;
  height:auto;
  overflow-x:hidden;
  overflow-y:auto;
  font-family:Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--text);
}

button,
input,
select,
textarea{
  font:inherit;
}

button{
  cursor:pointer;
}

.hidden{
  display:none!important;
}

/* LOGIN */
.login-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:22px;
  background:linear-gradient(145deg,#11151d,#252c39);
}

.login-card{
  width:min(100%,520px);
  background:#181d27;
  color:#fff;
  padding:30px;
  border-radius:26px;
  border:1px solid #303746;
  box-shadow:0 25px 70px rgba(0,0,0,.35);
}

.brand-circle{
  width:84px;
  height:84px;
  border:6px solid var(--pink);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:31px;
  font-weight:800;
  margin:0 auto 18px;
}

.login-card h1{
  text-align:center;
  margin:0 0 8px;
}

.login-card p{
  text-align:center;
  color:#aeb6c5;
  margin:0 0 25px;
}

.login-card label{
  display:block;
  margin:15px 0 7px;
  font-weight:700;
}

.login-card input{
  width:100%;
  padding:15px;
  border:1px solid #414957;
  border-radius:13px;
  background:#10141c;
  color:#fff;
}

/* BUTTONS */
.primary{
  border:0;
  background:linear-gradient(135deg,#ef7cad,#d94f87);
  color:#fff;
  padding:14px 18px;
  border-radius:13px;
  font-weight:800;
}

.primary.compact{
  width:auto;
}

.secondary,
.icon-btn,
.danger{
  border:1px solid var(--border);
  background:#fff;
  padding:11px 13px;
  border-radius:12px;
}

.danger{
  color:var(--red);
  border-color:#efc7ce;
}

/* TOPBAR */
.topbar{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 18px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--border);
  box-shadow:0 3px 14px rgba(0,0,0,.04);
}

.topbar h1{
  margin:0;
  flex:1;
  font-size:26px;
}

.topbar select{
  padding:10px;
  border:1px solid var(--border);
  border-radius:11px;
  background:#fff;
}

/* SIDEBAR - CORRIGIDO PARA ROLAR NO CELULAR */
.sidebar{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:300px;
  height:100vh;
  height:100dvh;
  max-height:100dvh;
  background:linear-gradient(180deg,var(--dark),#0f121a);
  color:#fff;
  padding:24px;
  padding-bottom:140px;
  z-index:60;
  transform:translateX(-100%);
  transition:transform .22s ease;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}

.sidebar.open{
  transform:translateX(0);
}

.small-brand{
  width:70px;
  height:70px;
  font-size:25px;
  margin:0;
}

.sidebar h2{
  margin:18px 0 6px;
}

.brand-subtitle{
  font-size:12px;
  letter-spacing:.15em;
  color:#8e96a7;
  margin-bottom:22px;
}

.menu-item{
  display:block;
  width:100%;
  text-align:left;
  margin:8px 0;
  padding:14px;
  border:1px solid transparent;
  border-radius:13px;
  background:#242936;
  color:#fff;
  font-size:16px;
}

.menu-item:hover,
.menu-item.active{
  background:rgba(231,96,152,.16);
  border-color:rgba(231,96,152,.25);
}

.overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.48);
  z-index:50;
}

/* CONTENT */
.content{
  width:100%;
  max-width:1500px;
  margin:0 auto;
  padding:20px;
  padding-bottom:120px;
  min-height:calc(100vh - 70px);
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:20px;
  padding:22px;
  box-shadow:var(--shadow);
}

.card.wide{
  grid-column:1/-1;
}

.stat strong{
  display:block;
  font-size:36px;
  margin:10px 0;
}

.muted{
  color:var(--muted);
}

.empty{
  padding:35px;
  text-align:center;
  color:#888;
}

/* TABLES */
.table-wrap{
  overflow:auto;
  border:1px solid var(--border);
  border-radius:14px;
}

table{
  width:100%;
  border-collapse:collapse;
}

th,
td{
  text-align:left;
  padding:12px;
  border-bottom:1px solid #eee;
  white-space:nowrap;
  vertical-align:middle;
}

table thead th{
  background:#fafbfc;
  color:#5f6675;
  font-size:13px;
}

.student-cell{
  display:flex;
  align-items:center;
  gap:10px;
}

.row-actions{
  display:flex;
  gap:7px;
}

.badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:#f3dbe5;
  font-size:13px;
}

/* TOOLBAR */
.toolbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px;
}

.toolbar input,
.toolbar select{
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}

.toolbar input{
  min-width:290px;
  flex:1;
}

/* AVATARS */
.avatar{
  width:46px;
  height:46px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 auto;
}

.avatar-empty{
  display:grid;
  place-items:center;
  background:#eee;
}

/* MODALS */
.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:100;
  padding:20px;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

.modal-box{
  width:min(100%,920px);
  background:#fff;
  border-radius:24px;
  padding:28px;
  position:relative;
  margin:20px auto 100px;
  box-shadow:0 28px 80px rgba(0,0,0,.22);
}

.close-btn{
  position:absolute;
  right:18px;
  top:18px;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  font-size:23px;
}

/* FORMS */
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.field label{
  display:block;
  font-weight:700;
  margin-bottom:7px;
}

.field input,
.field select,
.field textarea{
  width:100%;
  padding:13px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}

.field.wide{
  grid-column:1/-1;
}

.form-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:22px;
}

/* PROFILE */
.profile-head{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:22px;
}

.profile-photo{
  width:130px;
  height:130px;
  border-radius:24px;
  object-fit:cover;
  background:#eee;
}

.profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}

.info-card,
.notes-box{
  background:#f7f7f8;
  border-radius:14px;
  padding:14px;
  overflow-wrap:anywhere;
}

.info-card b{
  display:block;
  margin-bottom:5px;
}

.notes-box{
  margin-top:14px;
}

/* FINANCE */
.two-grid{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);
  gap:18px;
}

.finance-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:18px;
}

.summary-card{
  background:#f7f7f8;
  border-radius:14px;
  padding:16px;
}

.summary-card span{
  display:block;
  color:#777;
}

.summary-card strong{
  display:block;
  font-size:24px;
  margin-top:8px;
}

/* EVENTS */
.event-grid{
  display:grid;
  gap:16px;
}

.event-card{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:18px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
}

.event-date-box{
  background:#171717;
  color:#fff;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:96px;
}

.event-date-box strong{
  font-size:30px;
}

.event-meta{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  color:#666;
  margin:14px 0;
}

.event-money{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:14px 0;
}

.event-money>div{
  background:#f7f7f8;
  border-radius:12px;
  padding:11px;
}

/* NOTIFICATIONS */
.notification-btn{
  position:relative;
}

.notification-badge{
  position:absolute;
  right:-6px;
  top:-7px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#e14e5c;
  color:#fff;
  font-size:11px;
  font-weight:800;
  display:grid;
  place-items:center;
}

.notification-panel{
  position:fixed;
  right:18px;
  top:76px;
  width:min(420px,calc(100vw - 24px));
  max-height:75vh;
  z-index:90;
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:0 24px 70px rgba(0,0,0,.2);
  overflow-y:auto;
}

.notification-list{
  overflow-y:auto;
  max-height:calc(75vh - 72px);
  padding:8px;
}

/* DASHBOARD */
.dashboard-smart{
  display:grid;
  gap:18px;
}

.hero-dashboard{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:28px;
  background:linear-gradient(135deg,#171b24,#242b39);
  color:#fff;
  border-radius:24px;
}

.smart-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.dashboard-two{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.dashboard-three{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

/* DARK MODE */
.dark-mode{
  --bg:#0f1218;
  --card:#171b24;
  --text:#eef1f7;
  --muted:#9aa3b5;
  --border:#2a3040;
  background:#0f1218;
  color:#eef1f7;
}

.dark-mode .topbar,
.dark-mode .card,
.dark-mode .modal-box,
.dark-mode input,
.dark-mode select,
.dark-mode textarea,
.dark-mode .secondary,
.dark-mode .icon-btn{
  background:#171b24;
  color:#eef1f7;
  border-color:#2a3040;
}

.dark-mode .info-card,
.dark-mode .notes-box,
.dark-mode .summary-card,
.dark-mode .event-money>div{
  background:#1b202a;
}

/* MOBILE */
@media(max-width:760px){
  html,
  body{
    min-height:100%;
    height:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .topbar{
    gap:8px;
    padding:13px 12px;
  }

  .topbar h1{
    font-size:21px;
  }

  .sidebar{
    width:min(88vw,320px);
    height:100dvh;
    max-height:100dvh;
    overflow-y:auto!important;
    padding-bottom:180px!important;
  }

  .content{
    padding:12px;
    padding-bottom:140px!important;
  }

  .stats-grid,
  .form-grid,
  .profile-grid,
  .two-grid,
  .finance-summary,
  .smart-kpi-grid,
  .dashboard-two,
  .dashboard-three{
    grid-template-columns:1fr;
  }

  .toolbar input{
    min-width:100%;
  }

  .profile-head{
    align-items:flex-start;
  }

  .profile-photo{
    width:100px;
    height:100px;
  }

  .event-card{
    grid-template-columns:70px 1fr;
  }

  .event-money{
    grid-template-columns:repeat(2,1fr);
  }

  .notification-panel{
    right:12px;
    top:68px;
    max-height:calc(100dvh - 90px);
    overflow-y:auto;
  }
}


/* =========================================================
   IMPACTO MANAGER — ACABAMENTO VISUAL / MOBILE & TABLET
   Somente aparência. Não altera funções.
   ========================================================= */
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--pink);margin-bottom:7px}
.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.card-title-row h2{margin:0 0 5px;line-height:1.2}.card-title-row p{margin:0}
.smart-kpi-icon{width:52px;height:52px;min-width:52px;border-radius:16px;display:grid;place-items:center;background:var(--pink-soft);font-size:24px}

/* DASHBOARD */
.hero-dashboard .eyebrow{color:#f4aac8}.hero-dashboard h2{margin:0 0 8px;font-size:28px}.hero-dashboard p{margin:0;color:#b7bfce}
.hero-kpi{text-align:right;min-width:180px}.hero-kpi span,.hero-kpi strong{display:block}.hero-kpi span{font-size:13px;color:#b9c0ce}.hero-kpi strong{font-size:30px;margin-top:7px}
.smart-kpi{display:flex;align-items:center;gap:14px;min-width:0}.smart-kpi>div:last-child{min-width:0}.smart-kpi span,.smart-kpi strong,.smart-kpi small{display:block}
.smart-kpi strong{font-size:26px;line-height:1.1;margin:5px 0}.smart-kpi small{color:var(--muted);line-height:1.35}
.class-grid{display:grid;gap:10px}.smart-classes{grid-template-columns:repeat(2,minmax(0,1fr))}
.class-card{background:#f7f8fa;border:1px solid var(--border);border-radius:14px;padding:14px}.class-card b,.class-card strong{display:block}.class-card strong{font-size:24px;margin-top:6px}
.dashboard-list{display:grid;gap:8px}.dashboard-list-row{display:flex;align-items:center;gap:11px;background:#f7f8fa;border-radius:13px;padding:11px}
.dashboard-list-row .grow{flex:1;min-width:0}.dashboard-list-row small{color:var(--muted)}
.date-chip{width:48px;height:48px;flex:0 0 auto;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#171b24;color:#fff}
.date-chip b{line-height:1}.date-chip span{font-size:10px;text-transform:uppercase;margin-top:3px}
.stock-icon,.pay-icon{width:40px;height:40px;min-width:40px;border-radius:12px;background:var(--pink-soft);display:grid;place-items:center;font-weight:800}
.chart-card{min-height:290px}
.attendance-chart.smart{height:205px;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;padding:20px 6px 0;border-bottom:1px solid var(--border)}
.bar-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:38px;flex:1}.bar{width:min(44px,80%);min-height:6px;background:var(--pink);border-radius:10px 10px 2px 2px}
.bar-value{font-weight:800;margin-bottom:6px}.bar-col small{margin-top:8px;color:var(--muted)}
.finance-chart{height:190px;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;padding:20px 8px 0;border-bottom:1px solid var(--border)}
.finance-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;flex:1;min-width:44px}.finance-bars{display:flex;align-items:flex-end;gap:5px;height:145px}
.finance-bar{width:16px;min-height:4px;border-radius:8px 8px 2px 2px}.paid-bar{background:#51b86d}.pending-bar{background:var(--pink)}.finance-col small{margin-top:8px;color:var(--muted)}
.chart-legend{display:flex;flex-wrap:wrap;gap:15px;justify-content:flex-end;padding-top:10px;font-size:12px;color:var(--muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.paid-dot,.income-dot{background:#51b86d}.pending-dot{background:var(--pink)}.expense-dot{background:#d95b66}

/* HEROS DOS MÓDULOS */
.finance-pro-shell,.graduation-shell,.inventory-shell,.pos-shell,.store-report-shell,.store-dashboard-shell{display:grid;gap:18px}
.finance-hero,.graduation-hero,.inventory-hero,.pos-hero,.report-hero,.store-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#171b24,#242b39);color:#fff;border-color:#2c3341}
.finance-hero h2,.graduation-hero h2,.inventory-hero h2,.pos-hero h2,.report-hero h2,.store-dashboard-hero h2{margin:0 0 7px;font-size:26px}
.finance-hero p,.graduation-hero p,.inventory-hero p,.pos-hero p,.report-hero p,.store-dashboard-hero p{margin:0;color:#b7bfce}
.finance-hero .eyebrow,.graduation-hero .eyebrow,.inventory-hero .eyebrow,.pos-hero .eyebrow,.report-hero .eyebrow,.store-dashboard-hero .eyebrow{color:#f3aac7}
.finance-hero-actions,.graduation-actions,.inventory-actions,.pos-hero-actions,.report-actions,.store-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.finance-hero-actions label{display:flex;align-items:center;gap:8px;color:#d8dee9;font-weight:700}.finance-hero-actions input{padding:10px;border-radius:11px;border:1px solid #414958;background:#fff}

/* FINANCEIRO */
.finance-tabs,.graduation-tabs{display:flex;gap:8px;flex-wrap:wrap}.finance-tab.active,.grad-tab.active{color:#fff;background:#202633;border-color:#202633}
.finance-pro-kpis,.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.finance-pro-kpi{display:flex;align-items:center;gap:14px;min-width:0}.finance-pro-kpi>div:last-child{min-width:0}
.finance-pro-kpi span,.finance-pro-kpi strong,.finance-pro-kpi small{display:block}.finance-pro-kpi span{font-size:13px;color:var(--muted);margin-bottom:5px}
.finance-pro-kpi strong{font-size:25px;line-height:1.15;overflow-wrap:anywhere}.finance-pro-kpi small{color:var(--muted);margin-top:5px;line-height:1.35}
.finance-pro-kpi.kpi-success{border-top:4px solid #51b86d}.finance-pro-kpi.kpi-warning{border-top:4px solid #e4a72e}.finance-pro-kpi.kpi-danger{border-top:4px solid #d94355}
.cash-chart{height:190px;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;padding:20px 8px 0;border-bottom:1px solid var(--border)}
.cash-col{height:100%;flex:1;min-width:42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.cash-bars{height:145px;display:flex;gap:5px;align-items:flex-end}
.cash-bar{width:17px;min-height:4px;border-radius:8px 8px 2px 2px}.income-bar{background:#51b86d}.expense-bar{background:#d95b66}.cash-col small{margin-top:8px;color:var(--muted)}
.finance-breakdown{display:grid;gap:10px}.finance-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border-radius:13px;background:#f7f8fa}
.finance-breakdown span{color:var(--muted)}.finance-breakdown strong{font-size:18px;text-align:right}.finance-breakdown-total{border-top:2px solid var(--border);background:#fff5f9!important}
.income-text{color:#177846!important}.expense-text{color:#b93949!important}.paid-badge{background:#dff2e5!important;color:#176b3a!important}.danger-badge{background:#f9dfe4!important;color:#9d3141!important}

/* GRADUAÇÕES */
.graduation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mini-summary span,.mini-summary strong{display:block}
.mini-summary span{color:var(--muted);font-size:13px;margin-bottom:8px}.mini-summary strong{font-size:30px;line-height:1}
.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.candidate-card{border:1px solid var(--border);border-radius:18px;padding:17px;background:#fff}.candidate-ready{border-color:#bfe1c9;background:#fbfffc}
.candidate-head{display:flex;align-items:center;gap:12px;margin-bottom:15px}.candidate-head .grow{flex:1;min-width:0}.candidate-head h3{margin:0 0 4px}.candidate-head small{color:var(--muted)}.avatar-lg{width:58px;height:58px}
.candidate-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.candidate-info>div{background:#f7f8fa;border-radius:12px;padding:11px}
.candidate-info span,.candidate-info b{display:block}.candidate-info span{font-size:12px;color:var(--muted);margin-bottom:5px}.candidate-info b{line-height:1.25;overflow-wrap:anywhere}
.review-score{margin-top:14px;display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center}.review-score span{color:var(--muted)}.review-score strong{font-size:18px}
.score-bar{grid-column:1/-1;height:9px;border-radius:999px;background:#eceff3;overflow:hidden}.score-bar i{display:block;height:100%;background:linear-gradient(90deg,#e76098,#d94f87);border-radius:999px}
.candidate-target{margin-top:13px;padding:11px;border-radius:12px;background:#fff4f8;line-height:1.4}.candidate-target b{display:block;margin-top:4px}
.candidate-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}

/* ESTOQUE */
.inventory-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.inventory-kpi{display:flex;align-items:center;gap:14px;min-width:0}.inventory-kpi>div:last-child{min-width:0}
.inventory-kpi span,.inventory-kpi strong{display:block}.inventory-kpi span{color:var(--muted);font-size:13px;margin-bottom:5px}.inventory-kpi strong{font-size:25px;line-height:1.15;overflow-wrap:anywhere}
.product-grid-pro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-card-pro{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fff}.product-inactive{opacity:.65}
.product-photo-wrap{position:relative;background:#f4f5f8;min-height:175px}.product-photo{display:block;width:100%;height:175px;object-fit:cover}.product-photo-empty{display:grid;place-items:center;font-size:44px}
.product-photo-wrap>.stock-pill{position:absolute;right:10px;top:10px}.stock-pill{display:inline-block;min-width:46px;text-align:center;padding:7px 10px;border-radius:999px;background:#e3f3e7;font-weight:800}
.stock-low{background:#f8dfe3!important;color:#8a2636!important}.product-card-body{padding:16px}.product-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.product-title-row h3{margin:0 0 4px}.product-title-row small{color:var(--muted)}.product-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.product-tags span{border-radius:999px;background:#f2f3f6;padding:6px 9px;font-size:12px}
.product-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product-price-grid>div{background:#f7f8fa;padding:10px;border-radius:11px}
.product-price-grid span,.product-price-grid b{display:block}.product-price-grid span{color:var(--muted);font-size:12px;margin-bottom:4px}.product-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}

/* PDV */
.pos-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pos-kpis .finance-pro-kpi{min-height:105px}
.pos-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:18px;align-items:start}.pos-cart-card{position:sticky;top:88px}
.pos-checkout-form{display:grid;gap:11px;margin-top:16px}.pos-checkout-form .field label{margin-bottom:6px}
#posProductGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}#posProductGrid>.empty{grid-column:1/-1}
.pos-product-card,.pos-item-card{border:1px solid var(--border);border-radius:14px;padding:13px;background:#fff}

/* RELATÓRIOS / PAINEL DA LOJA */
.report-actions{justify-content:flex-end}.store-report-shell .toolbar label{display:flex;align-items:center;gap:7px;font-weight:700}.store-report-shell .toolbar label input{min-width:150px}
.report-kpis .finance-pro-kpi{min-height:110px}.store-dashboard-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.store-dashboard-kpis .finance-pro-kpi{min-height:110px}

/* GERAIS */
.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.section-header h2{margin:0 0 4px}.section-actions{display:flex;flex-wrap:wrap;gap:8px}
.error-box{background:#8a2530;color:#fff;padding:12px 14px;border-radius:12px;margin-bottom:12px}.separator{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--muted)}
.separator:before,.separator:after{content:"";height:1px;flex:1;background:var(--border)}

/* DARK MODE */
.dark-mode .finance-breakdown>div,.dark-mode .class-card,.dark-mode .dashboard-list-row,.dark-mode .candidate-info>div,.dark-mode .product-price-grid>div,.dark-mode .product-tags span{background:#1b202a}
.dark-mode .candidate-card,.dark-mode .product-card-pro,.dark-mode .pos-product-card,.dark-mode .pos-item-card{background:var(--card);border-color:var(--border)}
.dark-mode .candidate-ready{background:#17221c}.dark-mode .finance-breakdown-total,.dark-mode .candidate-target{background:#251c22!important}

/* TABLET */
@media(max-width:1050px){
  .smart-kpi-grid,.finance-pro-kpis,.report-kpis,.inventory-kpis,.pos-kpis,.store-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-three{grid-template-columns:1fr}.candidate-grid,.product-grid-pro{grid-template-columns:1fr}.pos-layout{grid-template-columns:1fr}.pos-cart-card{position:static}
}

/* MOBILE */
@media(max-width:760px){
  .finance-hero,.graduation-hero,.inventory-hero,.pos-hero,.report-hero,.store-dashboard-hero,.hero-dashboard{flex-direction:column;align-items:flex-start}
  .hero-kpi{text-align:left;min-width:0}
  .finance-hero-actions,.graduation-actions,.inventory-actions,.pos-hero-actions,.report-actions,.store-hero-actions{width:100%}
  .finance-hero-actions>button,.graduation-actions>button,.inventory-actions>button,.pos-hero-actions>button,.report-actions>button,.store-hero-actions>button{flex:1}
  .smart-kpi-grid,.finance-pro-kpis,.report-kpis,.inventory-kpis,.pos-kpis,.store-dashboard-kpis,.graduation-summary,.candidate-info{grid-template-columns:1fr}
  .finance-pro-kpi,.inventory-kpi,.smart-kpi{align-items:flex-start}.finance-pro-kpi strong,.inventory-kpi strong{font-size:23px}
  .finance-tabs,.graduation-tabs{display:grid;grid-template-columns:1fr 1fr}.finance-tab:first-child{grid-column:1/-1}
  .candidate-grid,.product-grid-pro,#posProductGrid{grid-template-columns:1fr}.product-price-grid{grid-template-columns:1fr 1fr}
  .section-header,.card-title-row{flex-direction:column}.section-actions{width:100%}.section-actions button{flex:1}
  .cash-chart,.finance-chart,.attendance-chart.smart{overflow-x:auto;justify-content:flex-start;padding-left:12px;padding-right:12px}
  .cash-col,.finance-col,.bar-col{min-width:54px;flex:0 0 54px}
}
@media(max-width:480px){
  .card{padding:17px}
  .finance-hero h2,.graduation-hero h2,.inventory-hero h2,.pos-hero h2,.report-hero h2,.store-dashboard-hero h2,.hero-dashboard h2{font-size:22px}
  .product-price-grid{grid-template-columns:1fr}.finance-tabs,.graduation-tabs{grid-template-columns:1fr}.finance-tab:first-child{grid-column:auto}
}
/* CORREÇÃO FINANCEIRO */
.finance-pro-kpi span,
.finance-pro-kpi strong,
.finance-pro-kpi small{
  display:block !important;
}

.finance-pro-kpi span{
  margin-bottom:6px !important;
}

.finance-pro-kpi strong{
  margin-bottom:6px !important;
  font-size:24px !important;
  line-height:1.15 !important;
}

.finance-pro-kpi small{
  line-height:1.35 !important;
}

.finance-pro-kpi > div:last-child{
  min-width:0 !important;
}
/* FINANCEIRO MOBILE - CORREÇÃO FORÇADA */

.finance-pro-kpis{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}

.finance-pro-kpi{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  width:100% !important;
}

.finance-pro-kpi > div:last-child{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:5px !important;
}

.finance-pro-kpi span,
.finance-pro-kpi strong,
.finance-pro-kpi small{
  display:block !important;
  width:100% !important;
}
/* GRÁFICO FINANCEIRO */

.cash-chart{
  height:220px !important;
  min-height:220px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-end !important;
  justify-content:space-around !important;
  gap:10px !important;
}

.cash-col{
  height:190px !important;
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
}

.cash-bars{
  height:150px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-end !important;
  gap:4px !important;
}

.cash-bar{
  display:block !important;
  width:16px !important;
  min-height:4px !important;
  border-radius:5px 5px 0 0 !important;
}

.cash-col small{
  display:block !important;
  margin-top:8px !important;
  text-align:center !important;
}

.chart-legend{
  display:flex !important;
  gap:18px !important;
  margin-top:15px !important;
}
/* DASHBOARD MOBILE - CORREÇÃO FORÇADA */

.smart-kpi-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}

.smart-kpi{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  width:100% !important;
}

.smart-kpi > div:last-child{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:5px !important;
  min-width:0 !important;
}

.smart-kpi .muted,
.smart-kpi strong,
.smart-kpi small{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
}

.smart-kpi strong{
  font-size:24px !important;
  line-height:1.15 !important;
}

.smart-kpi small{
  color:var(--muted) !important;
  line-height:1.35 !important;
}

/* GRÁFICO DE PRESENÇA */

.attendance-chart.smart{
  height:220px !important;
  min-height:220px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-end !important;
  justify-content:space-around !important;
  gap:10px !important;
  padding:20px 10px 0 !important;
}

.attendance-chart.smart .bar-col{
  height:190px !important;
  min-width:48px !important;
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
}

.attendance-chart.smart .bar{
  display:block !important;
  width:28px !important;
  min-height:6px !important;
  background:#e76098 !important;
  border-radius:8px 8px 2px 2px !important;
}

.attendance-chart.smart .bar-value{
  display:block !important;
  margin-bottom:6px !important;
  font-weight:700 !important;
}

.attendance-chart.smart small{
  display:block !important;
  margin-top:8px !important;
  text-align:center !important;
}