/* Controle de Entregas - tema sobre o Bootstrap 5 */
:root{
  --brand-ink:#132033;
  --brand-muted:#6b778c;
  --brand-nav:#0b1626;
  --brand-primary:#16a085;
  --brand-primary-dark:#11806c;
  --brand-danger:#d84a4a;
  --brand-line:#e6eaf0;
  --brand-shadow:0 8px 25px rgba(20,32,51,.07);

  --bs-primary:var(--brand-primary);
  --bs-primary-rgb:22,160,133;
  --bs-body-bg:#f3f6fa;
  --bs-body-color:var(--brand-ink);
  --bs-link-color:var(--brand-primary-dark);
  --bs-link-hover-color:var(--brand-primary);
  --bs-border-radius:.85rem;
  --bs-border-radius-sm:.6rem;
  --bs-border-radius-lg:1rem;
}

html,body{min-height:100%}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

.btn-primary{--bs-btn-bg:var(--brand-primary);--bs-btn-border-color:var(--brand-primary);--bs-btn-hover-bg:var(--brand-primary-dark);--bs-btn-hover-border-color:var(--brand-primary-dark);--bs-btn-active-bg:var(--brand-primary-dark);--bs-btn-active-border-color:var(--brand-primary-dark)}
.btn-outline-primary{--bs-btn-color:var(--brand-primary-dark);--bs-btn-border-color:var(--brand-primary);--bs-btn-hover-bg:var(--brand-primary);--bs-btn-hover-border-color:var(--brand-primary)}
a{text-decoration:none}

/* ---------- Navbar ---------- */
.app-navbar{background:var(--brand-nav);min-height:64px;z-index:1030}
.app-navbar .navbar-brand{color:#fff;font-weight:800;font-size:1.05rem}
.app-navbar .nav-link{color:#dce6f3;font-weight:600;padding:.55rem .75rem;border-radius:.55rem}
.app-navbar .nav-link:hover,.app-navbar .nav-link:focus{color:#fff;background:rgba(255,255,255,.06)}
.app-navbar .navbar-toggler{border-color:rgba(255,255,255,.25)}
@media(min-width:992px){.app-navbar .navbar-collapse{flex-grow:0}}

.env-badge{font-size:.7rem;font-weight:800;letter-spacing:.05em;padding:.4rem .65rem}
.environment-strip{background:#fff3cd;color:#6f5000;padding:.5rem 1rem;font-size:.8rem}

/* ---------- Layout ---------- */
.app-container{padding-top:1.75rem;padding-bottom:2rem;max-width:1180px}
.login-wrap{max-width:100%;min-height:calc(100vh - 0px);display:flex;align-items:center;justify-content:center;padding-top:0}
body.auth-page{background:linear-gradient(160deg,var(--brand-nav),#132a45 60%,var(--brand-nav))}

.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}
.page-head h1{font-size:1.7rem;font-weight:800;margin-bottom:.15rem}

.panel,.card{box-shadow:var(--brand-shadow);border-color:var(--brand-line)}
.card-header{background:#fff;border-bottom:1px solid var(--brand-line);font-weight:700}

/* ---------- Metrics ---------- */
.metric-card{border:1px solid var(--brand-line);border-radius:var(--bs-border-radius-lg);box-shadow:var(--brand-shadow);padding:1.1rem 1.2rem;height:100%;background:#fff}
.metric-card .metric-label{color:var(--brand-muted);font-size:.83rem;display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}
.metric-card .metric-value{font-size:1.4rem;font-weight:800;white-space:nowrap}
.metric-card.revenue{border-top:4px solid #1ca77c}
.metric-card.expense{border-top:4px solid #de5b5b}
.metric-card.profit{border-top:4px solid #3f7ee8}

.indicator-tile{background:#f7f9fc;border-radius:.7rem;padding:.9rem 1rem;height:100%}
.indicator-tile span{display:block;color:var(--brand-muted);font-size:.8rem;margin-bottom:.25rem}
.indicator-tile strong{font-size:1.05rem}

/* ---------- Period filter chips ---------- */
.period-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}
.chip{background:#fff;border:1px solid #dce2e9;border-radius:999px;padding:.5rem .9rem;color:var(--brand-ink);cursor:pointer;font-size:.9rem;font-weight:600}
.chip.active{background:var(--brand-nav);color:#fff;border-color:var(--brand-nav)}
details{position:relative}
.custom-period{position:absolute;top:calc(100% + .5rem);right:0;max-width:calc(100vw - 2rem);background:#fff;border:1px solid var(--brand-line);padding:.75rem;border-radius:.75rem;box-shadow:var(--brand-shadow);display:flex;flex-wrap:wrap;gap:.5rem;z-index:5}
.custom-period input{max-width:150px}
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}

/* ---------- Charts ---------- */
.chart-card{position:relative}
.chart-wrap{position:relative;height:280px}
.chart-wrap.chart-wrap-sm{height:230px}
/* Resumo compacto Receita/Despesas/Resultado/Margem */
.rd-summary{margin-bottom:1rem}
.rd-stat{padding:.3rem 0;border-left:2px solid var(--brand-line);padding-left:.75rem}
.rd-stat .rd-label{display:flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;color:var(--brand-muted);text-transform:uppercase}
.rd-stat .rd-label i{cursor:help;color:var(--brand-muted)}
.rd-stat .rd-value{display:block;font-size:1.15rem;font-weight:800;margin-top:.1rem}
.rd-stat .rd-sub{display:block;font-size:.72rem;color:var(--brand-muted)}
.rd-stat-revenue .rd-value{color:#1ca77c}
.rd-stat-expense .rd-value{color:#de5b5b}
.rd-stat-result .rd-value{color:#3f7ee8}
.rd-stat-protagonist{border-left-color:var(--brand-primary)}
.rd-stat-protagonist .rd-value{font-size:1.6rem;color:var(--brand-primary-dark)}

.composition-title{display:block;font-size:.78rem;font-weight:700;color:var(--brand-muted);margin-bottom:.4rem}
.composition-bar{display:flex;height:16px;border-radius:999px;overflow:hidden;background:var(--brand-line)}
.composition-seg{height:100%}
.composition-seg.profit{background:#1ca77c}
.composition-seg.expense{background:#de5b5b}
.composition-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:.5rem;font-size:.82rem;font-weight:600}
.composition-legend .legend-item{display:flex;align-items:center;gap:.4rem}
.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.legend-dot.profit{background:#1ca77c}
.legend-dot.expense{background:#de5b5b}

/* ---------- Lists / tables ---------- */
.list-card{border:1px solid var(--brand-line);border-radius:.9rem;box-shadow:var(--brand-shadow);padding:1rem 1.1rem}
.list-card .amount{font-weight:800;font-size:1.05rem}
.table>:not(caption)>*>*{padding:.85rem .75rem}
.table thead th{color:var(--brand-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.03em;border-bottom-width:1px;font-weight:700}
.positive{color:#17865e;font-weight:700}
.negative{color:#c43d3d;font-weight:700}

/* ---------- Forms ---------- */
.form-control:focus,.form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 .2rem rgba(22,160,133,.15)}
.form-panel{max-width:820px}

/* ---------- Login ---------- */
.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--brand-line);border-radius:1.1rem;padding:2.1rem 1.9rem;box-shadow:0 20px 50px rgba(0,0,0,.25);text-align:center}
.login-card .logo-big{font-size:2.6rem;color:var(--brand-primary)}

/* ---------- Bottom nav (mobile) ---------- */
.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--brand-line);z-index:1020;padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav a{text-decoration:none;color:var(--brand-ink);display:flex;flex-direction:column;align-items:center;padding:.55rem .2rem .45rem;font-size:1.05rem}
.bottom-nav a:hover{color:var(--brand-primary-dark)}
.bottom-nav small{font-size:.62rem;margin-top:.15rem;font-weight:600}
@media(max-width:991.98px){.app-container{padding-bottom:5.5rem}}

@media(max-width:576px){
  .custom-period{position:static;width:100%;margin-top:.5rem;flex-wrap:wrap}
  .custom-period input{max-width:none;flex:1 1 45%}
  .custom-period .btn{flex:1 1 100%}
}

/* ---------- Misc ---------- */
.warning-box,.success-box{padding:1rem;border-radius:.85rem}
.warning-box{background:#fff3cd;color:#664d03}
.success-box{background:#d1e7dd;color:#0f5132}
.currency-examples{display:grid;gap:.4rem;margin-top:1rem;padding:1rem;background:#f5f7fa;border-radius:.85rem}
.empty-state{text-align:center;color:var(--brand-muted);padding:2.5rem 1rem}
.danger-zone{max-width:640px;margin:2rem auto}
