/* Upgrade 2026-10 – area "ops": maintenance & requests, maintenance calendar, vendors, expenses. Tokens from theme.css only; no all-caps
   labels, no thick coloured left borders. */
.ops-note { margin-bottom: var(--gap); }
.ops-cols { align-items: start; } .ops-cols > * { min-width: 0; }
.ops .form-grid > * { min-width: 0; }
.ops [data-records] { margin-top: var(--gap); }
.ops .report-bar select.input { max-width: 230px; }
.ops .ops-list > li { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; min-width: 0; }
.ops-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; overflow-wrap: anywhere; }
.ops .ops-list > li.ops-sum { border-top: 1px solid var(--border); font-weight: 600; }
.ops-static { min-height: 40px; display: flex; align-items: center; }
.ops-zipcity .row { flex-wrap: nowrap; } .ops-zipcity .row > .input { min-width: 0; width: auto; flex: 1 1 auto; } .ops-zipcity .row > .input:first-child { flex: 0 0 96px; }
.stack-sm { display: flex; flex-direction: column; gap: 6px; }
/* expense totals */
.ops-totals { margin-bottom: var(--gap); }
.ops-tot { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 2fr); gap: 18px 28px; align-items: center; }
.ops-big { font-size: 1.7rem; font-weight: 700; margin: 2px 0; }
.ops-bars { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.ops .ops-bars > li { display: grid; grid-template-columns: minmax(90px, 170px) minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: var(--fs-sm); padding: 0; border: 0; }
.ops-bl { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-2); }
.ops-bar { height: 8px; border-radius: var(--radius-pill); background: var(--neutral-bg); overflow: hidden; }
.ops-bar i { display: block; height: 100%; border-radius: inherit; background: var(--primary); }
/* calendar */
.cal-nav { gap: 6px; }
.cal-month { min-width: 150px; text-align: center; }
.cal-grid { border-top: 1px solid var(--border); }
.cal-row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-head div { padding: 8px 10px; font-size: var(--fs-xs); color: var(--text-3); font-weight: 600; }
.cal-cell { min-height: 108px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 6px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cal-row .cal-cell:last-child { border-right: 0; }
.cal-cell[data-day] { cursor: pointer; }
.cal-cell[data-day]:hover { background: var(--surface-2); }
.cal-cell.out { background: var(--surface-2); }
.cal-cell.out .cal-d { color: var(--text-3); }
.cal-d { font-size: var(--fs-xs); font-weight: 600; color: var(--text-2); width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; }
.cal-cell.today .cal-d { background: var(--primary); color: var(--on-primary); }
.cal-ev { display: flex; align-items: center; gap: 6px; width: 100%; min-height: 26px; padding: 2px 8px; border-radius: 6px; border: 1px solid var(--border); background: var(--surface);
  color: var(--text); font: inherit; font-size: 12px; text-align: left; cursor: pointer; text-decoration: none; min-width: 0; }
.cal-ev:hover { background: var(--surface-3); }
.cal-dot, .cal-req-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; background: var(--st-draft); display: inline-block; }
.ev-due_soon .cal-dot { background: var(--st-open); } .ev-overdue .cal-dot { background: var(--st-bad); } .ev-done .cal-dot { background: var(--st-done); } .ev-cancelled .cal-dot { background: var(--st-neutral); }
.ev-done, .ev-cancelled { color: var(--text-3); } .ev-cancelled .ellipsis { text-decoration: line-through; }
.cal-req { border-style: dashed; } .cal-req .cal-dot, .cal-req-dot { background: var(--info); border-radius: 2px; }
.cal-legend { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.cal-agenda { display: none; padding: 12px; }
.cal-aday + .cal-aday { margin-top: 14px; }
.cal-adate { font-weight: 600; font-size: var(--fs-sm); margin-bottom: 6px; }
.cal-aday.today .cal-adate { color: var(--primary); }
.cal-aitem { display: flex; gap: 10px; align-items: center; width: 100%; min-height: 44px; padding: 8px 10px; border-radius: var(--radius); border: 1px solid var(--border); background: var(--surface);
  color: var(--text); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.cal-mhead { gap: 10px; margin-bottom: 12px; }
.cal-complete { border-top: 1px solid var(--border); padding-top: 12px; }
@media (max-width: 760px) { .ops-tot { grid-template-columns: 1fr; } .ops .ops-bars > li { grid-template-columns: minmax(70px, 110px) minmax(0, 1fr) auto; }
  .cal-grid { display: none; } .cal-agenda { display: block; } .cal-month { min-width: 0; } }
@media (max-width: 640px) { .ops .report-bar select.input { max-width: none; flex: 1 1 140px; } }
.exp-vat { padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); } .exp-vat .form-grid { padding: 0; } [data-vat-preview] { margin-top: 6px; font-variant-numeric: tabular-nums; }
.exp-vat [hidden], .exp-vat[hidden] { display: none !important; }
