.text-right {
  text-align: right;
}
body {
  font-size: 25px !important; /* Standard base font size */
}

table {
  font-size: 1rem !important; /* Ensure tables are readable */
}

/* Tight "№" column across tables */
.col-index{ width:1% !important; white-space:nowrap !important; text-align: center; }

/* Force wrapping where needed */
.wrap{ white-space: normal !important; word-break: break-word; overflow-wrap: anywhere; }

/* Index page mobile polish */
@media (max-width: 900px){
  body[data-page="index"] header .container{ gap: 8px; }
  body[data-page="index"] .display-5{ font-size: 1.9rem; line-height: 1.25; letter-spacing: -.01em; }
  body[data-page="index"] .lead{ font-size: 1.1rem; line-height: 1.5; }
  body[data-page="index"] section.py-5{ padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  body[data-page="index"] .btn.btn-lg{ width: 100%; padding:.9rem 1.1rem; font-weight:600; }
  body[data-page="index"] .feature-icon{ font-size: 0; }
  body[data-page="index"] img.img-fluid{ max-height: 240px; width: 100%; object-fit: cover; border-radius: 16px; }
  body[data-page="index"] .row.align-items-center{ row-gap: 14px; }
}

/* Compact-hard: super-dense UI mode */
.compact-hard body, .compact-hard .tab-pane .controls{ font-size: 0.95em; }
.compact-hard table.table, .compact-hard .table{ font-size: 0.92em; }
.compact-hard table.table th, .compact-hard table.table td{ padding: .25rem .35rem; }
.compact-hard .form-control, .compact-hard .form-select, .compact-hard .btn{padding: .35rem .55rem;font-size: 1.2em;}
.compact-hard .card-body{ padding: .6rem .75rem; }

/* Filters in 2 columns (min-width: 380px) unless disabled */
@media (min-width: 380px){
  :not(.no-2cols) .tab-pane .controls .row{ display: grid; grid-template-columns: 1fr 1fr; gap: .5rem .75rem; align-items: end; }
  :not(.no-2cols) .tab-pane .controls .row > [class*="col-"],
  :not(.no-2cols) .tab-pane .controls .filter-cell{ width: 100%; }
}

/* Index page hero styling */
body[data-page="index"] section.bg-light:first-of-type{
  background: linear-gradient(180deg, rgba(13,110,253,0.08), rgba(13,110,253,0.02)) !important;
}
body[data-page="index"] .index-hero-img{ box-shadow:0 14px 32px rgba(0,0,0,.12); border-radius: 16px; }

/* Feature cards */
body[data-page="index"] section.py-5:not(.bg-light) .text-center{
  background:#fff; border:1px solid #eef2f7; border-radius:16px; box-shadow:0 8px 20px rgba(0,0,0,.06);
}
body[data-page="index"] .feature-icon-circle{
  display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%;
  background: linear-gradient(135deg, #0d6efd, #5aa3ff); color:#fff; font-size: 1.35rem;
}
body[data-page="index"] .feature-icon-circle i{ line-height:1; }

@media (max-width: 900px) {
    body[data-page="creation"] .fab-container .fab-btn,
    body[data-page="timesheet"] .fab-container .fab-btn {
        width: 44px !important;
        height: 44px !important;
        font-size: 22px !important;
    }
}