
/* EasyLeasey Dream App Polish
   Extends the navy/sidebar dream layout across core app pages without changing routes/controllers. */
@media (min-width:821px){
  body.is-auth .page-head,
  body.is-auth .reports-page-head{
    margin:0 0 18px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  body.is-auth .page-head-inner,
  body.is-auth .card-header,
  body.is-auth .card-h{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:16px !important;
  }
  body.is-auth .h1,
  body.is-auth h1.h1{
    font-size:22px !important;
    line-height:1.15 !important;
    margin:0 !important;
    letter-spacing:-.03em !important;
    color:var(--dream-text,#0f172a) !important;
    font-weight:900 !important;
  }
  body.is-auth .h2,
  body.is-auth .card-title .h2,
  body.is-auth .card-h .h2{
    font-size:16px !important;
    line-height:1.2 !important;
    color:var(--dream-text,#0f172a) !important;
    letter-spacing:-.02em !important;
    font-weight:900 !important;
  }
  body.is-auth .p,
  body.is-auth .small,
  body.is-auth .mini{
    color:var(--dream-muted,#64748b) !important;
  }
  body.is-auth .kicker{
    color:#0b66f0 !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }
  body.is-auth .card{
    overflow:hidden !important;
  }
  body.is-auth .card,
  body.is-auth .page-card{
    border:1px solid var(--dream-line,#e8edf5) !important;
    background:#fff !important;
    border-radius:14px !important;
    box-shadow:0 10px 28px rgba(15,23,42,.06) !important;
  }
  body.is-auth .card-body,
  body.is-auth .card-b{
    padding:18px 20px !important;
  }
  body.is-auth .card > .card-header,
  body.is-auth .card > .card-h{
    padding:18px 20px !important;
    border-bottom:1px solid var(--dream-line,#e8edf5) !important;
    background:linear-gradient(180deg,#fff,#fbfdff) !important;
  }
  body.is-auth .divider{border-color:var(--dream-line,#e8edf5) !important;}
  body.is-auth .btn,
  body.is-auth button.btn,
  body.is-auth a.btn{
    border:0 !important;
    background:#0b66f0 !important;
    color:#fff !important;
    border-radius:10px !important;
    padding:10px 14px !important;
    font-weight:850 !important;
    box-shadow:0 10px 22px rgba(11,102,240,.22) !important;
    text-decoration:none !important;
  }
  body.is-auth .btn:hover{filter:brightness(.97) !important;transform:translateY(-1px);}
  body.is-auth .btn-outline,
  body.is-auth .btn-ghost,
  body.is-auth .link-btn{
    background:#f8fbff !important;
    color:#0b66f0 !important;
    border:1px solid #dbe8ff !important;
    box-shadow:none !important;
    border-radius:10px !important;
    font-weight:850 !important;
    text-decoration:none !important;
  }
  body.is-auth .btn-sm{padding:7px 10px !important;font-size:12px !important;}
  body.is-auth .badge,
  body.is-auth .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    padding:5px 9px !important;
    background:#eff6ff !important;
    color:#0b66f0 !important;
    border:1px solid #dbeafe !important;
    font-size:11px !important;
    font-weight:850 !important;
    line-height:1 !important;
  }
  body.is-auth .tablewrap{
    border:1px solid var(--dream-line,#e8edf5) !important;
    border-radius:12px !important;
    overflow:auto !important;
    background:#fff !important;
  }
  body.is-auth table.t{
    width:100% !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
  }
  body.is-auth table.t thead th{
    background:#f8fbff !important;
    color:#475569 !important;
    font-size:11px !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
    font-weight:900 !important;
    border-bottom:1px solid var(--dream-line,#e8edf5) !important;
  }
  body.is-auth table.t th,
  body.is-auth table.t td{
    padding:13px 14px !important;
    border-bottom:1px solid #eef2f7 !important;
    vertical-align:middle !important;
  }
  body.is-auth table.t tbody tr:last-child td{border-bottom:0 !important;}
  body.is-auth table.t tbody tr:hover td{background:#fbfdff !important;}
  body.is-auth .input,
  body.is-auth select.input,
  body.is-auth input.input,
  body.is-auth textarea.input{
    border:1px solid #dbe3ee !important;
    border-radius:10px !important;
    background:#fff !important;
    min-height:42px !important;
    box-shadow:0 1px 0 rgba(15,23,42,.02) !important;
  }
  body.is-auth .label{font-size:12px !important;font-weight:850 !important;color:#334155 !important;}
  body.is-auth .grid{gap:16px !important;}
  body.is-auth .dash-pillrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
}

/* Universal dashboard-style page widgets */
.dream-page-wrap{display:block;}
.dream-page-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 16px;}
.dream-page-hero-title{display:flex;flex-direction:column;gap:5px;}
.dream-page-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 16px;}
.dream-mini-kpi{padding:16px 17px;text-decoration:none;color:inherit;}
.dream-mini-kpi-label{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-bottom:10px;}
.dream-mini-kpi-value{font-size:24px;font-weight:950;letter-spacing:-.04em;color:#0f172a;line-height:1;}
.dream-mini-kpi-note{font-size:12px;color:#64748b;margin-top:8px;}
.dream-mini-kpi-value.green{color:#15803d}.dream-mini-kpi-value.red{color:#b91c1c}.dream-mini-kpi-value.blue{color:#0b66f0}.dream-mini-kpi-value.orange{color:#ea580c}
.dream-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.dream-analytics-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin:16px 0;}
.dream-analytics-card{grid-column:span 6;padding:20px;}
.dream-analytics-card h2{font-size:15px;font-weight:950;margin:0 0 16px;letter-spacing:-.02em;color:#0f172a;}
.dream-hbar-list{display:flex;flex-direction:column;gap:13px;}
.dream-hbar-row{display:grid;grid-template-columns:minmax(95px,1fr) minmax(120px,2fr) auto;align-items:center;gap:10px;font-size:12px;color:#475569;}
.dream-hbar-track{height:10px;border-radius:999px;background:#edf2f7;overflow:hidden;}
.dream-hbar-fill{display:block;height:100%;border-radius:999px;background:#0b66f0;min-width:4px;}
.dream-hbar-fill.green{background:#16a34a}.dream-hbar-fill.red{background:#ef4444}.dream-hbar-fill.orange{background:#f97316}
.dream-hbar-value{font-weight:900;color:#0f172a;white-space:nowrap;}
.dream-spark-bars{height:180px;display:flex;align-items:flex-end;gap:12px;padding:8px 0 24px;border-bottom:1px solid #dbe3ee;position:relative;}
.dream-spark-month{flex:1;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:4px;height:100%;}
.dream-spark-bar{width:13px;border-radius:4px 4px 0 0;min-height:7px;background:#0b66f0;}
.dream-spark-bar.expense{background:#16a34a}.dream-spark-bar.net{background:#f97316}
.dream-spark-label{position:absolute;bottom:-22px;font-size:10px;color:#64748b;white-space:nowrap;}
.dream-page-section-title{font-size:15px;font-weight:950;margin:0 0 12px;color:#0f172a;letter-spacing:-.02em;}
.dream-page-empty{background:#f8fbff;border:1px dashed #cfe0f7;border-radius:12px;padding:18px;color:#64748b;}
@media (max-width:820px){
  .dream-page-hero{flex-direction:column;gap:10px;}
  .dream-page-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .dream-mini-kpi{padding:14px;}
  .dream-mini-kpi-value{font-size:21px;}
  .dream-analytics-grid{grid-template-columns:1fr;gap:12px;}
  .dream-analytics-card{grid-column:span 1;padding:16px;}
  .dream-hbar-row{grid-template-columns:1fr;gap:6px;}
}
