/* Maintenance reminder workspace: existing metrics, rows and action handlers remain. */
#reminders { --rm-bg:#fff; --rm-soft:#f6f8fa; --rm-line:#dce5eb; --rm-text:#243b50; --rm-muted:#748596; --rm-green:#478b3c; --rm-success:#397244; --rm-notice:#916719; }
#reminders [hidden] { display:none !important; }
#reminders .ow-page-actions { max-width:100%; }
#reminders .ow-page-actions .filters { display:flex; flex-wrap:wrap; gap:10px; }
#reminders .ow-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; max-width:100%; padding:9px 12px; border:1px solid var(--rm-line); border-radius:8px; background:var(--rm-bg); color:var(--rm-text); cursor:pointer; text-align:left; font:12px/20px Inter,sans-serif; }
#reminders #reminderHorizon+.ow-select-trigger { width:215px; }
#reminders #reminderContactFilter+.ow-select-trigger { width:180px; }
#reminders #reminderCards { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
#reminders #reminderCards>.card { padding:18px; min-width:0; border:1px solid var(--rm-line); border-radius:12px; background:var(--rm-bg); box-shadow:none; }
#reminders #reminderCards small { color:var(--rm-muted); font-size:11px; line-height:1.5; text-transform:none; letter-spacing:0; }
#reminders #reminderCards strong { display:block; margin-top:10px; color:var(--rm-text); font-size:27px; font-weight:650; letter-spacing:-.03em; line-height:1.3; }
#reminders>.panel,#reminders #v110ReminderQueue>.panel { margin-bottom:18px !important; border:1px solid var(--rm-line); border-radius:12px; background:var(--rm-bg); box-shadow:0 2px 6px #17304704; }
#reminders .panel-head { padding:17px 20px; gap:14px; flex-wrap:wrap; border-color:var(--rm-line); }
#reminders .panel-head b { font-size:13px; font-weight:600; }
#reminders .panel-head .muted { color:var(--rm-muted); font-size:11px; }
#reminders #v110ReminderQueue .ow-r-queue-empty { display:flex; flex-wrap:wrap; align-items:center; gap:0 18px; padding-right:20px; }
#reminders #v110ReminderQueue .ow-r-queue-empty>.panel-head { border:0; padding-block:16px; flex:1; }
#reminders #v110ReminderQueue .ow-r-queue-empty>.empty { padding:12px 0; font-size:11px; text-align:left; color:var(--rm-muted); }
#reminders #v110ReminderQueue .list { padding:0 20px; }
#reminders #v110ReminderQueue .list-item { align-items:center; padding:15px 0; gap:16px; border-color:var(--rm-line); }
#reminders #v110ReminderQueue .list-item .muted { color:var(--rm-muted); font-size:11px; line-height:1.7; }
#reminders #v110ReminderQueue .list-item .btn { flex-shrink:0; font-size:11px; min-height:36px; }
#reminders .v110-pill { padding:4px 8px; border-radius:6px; font-size:10px; font-weight:500; }
#reminders .v110-pill.green { color:var(--rm-muted); background:var(--rm-soft); border-color:var(--rm-line); }
#reminders .table-wrap { overflow-x:auto; }
#reminders .table { width:100%; min-width:1200px; table-layout:fixed; }
#reminders .table th { padding:13px 14px; background:var(--rm-soft); color:var(--rm-muted); font-size:10px; font-weight:500; text-transform:none; letter-spacing:0; border-color:var(--rm-line); }
#reminders .table td { padding:18px 14px; vertical-align:top; color:var(--rm-text); font-size:12px; line-height:1.6; border-color:var(--rm-line); background:transparent; overflow-wrap:anywhere; }
#reminders .table th:nth-child(1) { width:9%; }
#reminders .table th:nth-child(2) { width:19%; }
#reminders .table th:nth-child(3) { width:16%; }
#reminders .table th:nth-child(4) { width:14%; }
#reminders .table th:nth-child(5) { width:14%; }
#reminders .table th:nth-child(6) { width:14%; }
#reminders .table th:nth-child(7) { width:14%; text-align:right; }
#reminders .table tr.reminder-overdue td { background:transparent; }
#reminders .table tr.reminder-row-red td:first-child { box-shadow:inset 3px 0 #cf6470; }
#reminders .table tr.reminder-row-amber td:first-child { box-shadow:inset 3px 0 #c4a15e; }
#reminders .table tr.reminder-row-green td:first-child { box-shadow:inset 3px 0 #74a67c; }
#reminders .table tbody tr:last-child td { border-bottom:0; }
#reminders .table tbody tr:hover { background:color-mix(in srgb,var(--rm-green) 3%,var(--rm-bg)); }
#reminders .status-note,#reminders .muted { color:var(--rm-muted); font-size:11px; line-height:1.65; }
#reminders .ow-r-date { display:block; white-space:nowrap; font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
#reminders .ow-r-customer { max-width:100%; padding:0; border:0; background:none; color:var(--rm-text); text-align:left; font:600 12px/1.65 Inter,sans-serif; cursor:pointer; overflow-wrap:anywhere; }
#reminders .ow-r-customer:hover { color:var(--rm-green); text-decoration:underline; text-underline-offset:3px; }
#reminders .ow-r-email { margin-top:6px; color:var(--rm-muted); font-size:10px; line-height:1.7; overflow-wrap:anywhere; }
#reminders .ow-r-history { display:grid; gap:8px; }
#reminders .ow-r-counts { display:flex; flex-wrap:wrap; gap:8px 12px; color:var(--rm-muted); font-size:10px; }
#reminders .ow-r-counts b { color:var(--rm-text); font-weight:600; font-variant-numeric:tabular-nums; }
#reminders .ow-r-last { font-size:11px; }
#reminders .ow-r-last>small { display:block; margin-bottom:3px; color:var(--rm-muted); font-size:9px; }
#reminders .ow-r-last .status-note { font-size:10px; margin-top:3px; }
#reminders .ow-r-booking { display:grid; justify-items:start; align-content:start; gap:7px; }
#reminders .ow-r-booking-line,#reminders .ow-r-notice-line { min-width:0; max-width:100%; }
#reminders .job-status,#reminders .reminder-escalation { max-width:100%; padding:4px 8px; border-radius:6px; font-size:10px; line-height:1.5; font-weight:500; text-transform:none; white-space:normal; }
#reminders .job-status.due { background:var(--rm-soft); color:var(--rm-muted); border:1px solid var(--rm-line); }
#reminders .ow-r-booking-state.job-status { display:inline-flex; align-items:center; gap:7px; max-width:100%; padding:4px 8px; border:0; border-radius:6px; background:var(--rm-soft); color:var(--rm-text); font-size:11px; font-weight:600; line-height:1.5; }
#reminders .ow-r-booking-state::before { content:''; flex-shrink:0; width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.75; }
#reminders .ow-r-booking-state.is-booked { background:color-mix(in srgb,var(--rm-success) 12%,var(--rm-bg)); color:var(--rm-success); }
#reminders .ow-r-notice-state.job-status { display:block; max-width:100%; padding:0; border:0; border-radius:0; background:none; color:var(--rm-muted); font-size:11px; font-weight:400; line-height:1.5; }
#reminders .ow-r-notice-state.needs-notice { color:var(--rm-notice); }
#reminders .ow-r-notice-state.is-confirmed { color:var(--rm-success); }
#reminders .reminder-escalation { align-items:center; gap:6px; }
#reminders .reminder-escalation::before { width:5px; height:5px; flex-shrink:0; }
#reminders .ow-r-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
#reminders .ow-r-book.btn { min-height:36px; padding:8px 11px; border-radius:7px; font-size:11px; font-weight:600; white-space:nowrap; }
#reminders .ow-r-more { display:inline-flex; align-items:center; justify-content:center; width:34px; height:36px; padding:0; border:1px solid var(--rm-line); border-radius:7px; background:var(--rm-bg); color:var(--rm-muted); cursor:pointer; flex-shrink:0; }
#reminders .ow-r-more svg { width:17px; height:17px; }
#reminders .ow-r-more:hover,#reminders .ow-r-more[aria-expanded="true"] { border-color:var(--rm-green); color:var(--rm-green); }
#reminders .ow-r-action-source { display:none; }
#reminders .table .empty { padding:36px 20px; color:var(--rm-muted); font-size:12px; text-align:center; }
#reminders :is(button,input):focus-visible { outline:2px solid var(--rm-green); outline-offset:3px; }
.ow-reminder-menu { position:fixed; inset:auto; width:238px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; margin:0; padding:6px; border:1px solid #dce5eb; border-radius:10px; background:#fff; color:#243b50; box-shadow:0 12px 38px #10233b26; }
.ow-reminder-menu:popover-open { display:grid; gap:3px; }
.ow-reminder-menu>.btn { display:flex; justify-content:flex-start; gap:10px; width:100%; min-height:40px; padding:10px 11px; margin:0; border:0; border-radius:6px; background:transparent; color:inherit; font:400 12px/20px Inter,sans-serif; text-align:left; box-shadow:none; }
.ow-reminder-menu>.btn>svg { width:17px; height:17px; color:#748596; flex-shrink:0; }
.ow-reminder-menu>.btn:hover,.ow-reminder-menu>.btn:focus-visible { background:#edf5e9; color:#386f31; outline:0; }
@media screen {
  html[data-ow-theme="dark"] #reminders { --rm-bg:#192431; --rm-soft:#131e2a; --rm-line:#35475a; --rm-text:#e5ecf4; --rm-muted:#a5b4c5; --rm-green:#a5d496; --rm-success:#9bd1a6; --rm-notice:#e4bf7d; }
  html[data-ow-theme="dark"] #reminders .reminder-escalation.red { background:#4a2a35; color:#f3b2ba; }
  html[data-ow-theme="dark"] #reminders .reminder-escalation.amber { background:#413a29; color:#edcf95; }
  html[data-ow-theme="dark"] .ow-reminder-menu { background:#192431; color:#e5ecf4; border-color:#43556a; box-shadow:0 15px 45px #0006; }
  html[data-ow-theme="dark"] .ow-reminder-menu>.btn:hover,html[data-ow-theme="dark"] .ow-reminder-menu>.btn:focus-visible { background:#2c4034; color:#c0e5b5; }
  html[data-ow-theme="dark"] .ow-reminder-menu>.btn>svg { color:#a5b4c5; }
}
@media(max-width:1180px) { #reminders #reminderCards { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
  #reminders .ow-page-actions,#reminders .ow-page-actions>.filters { width:100%; }
  #reminders #reminderHorizon+.ow-select-trigger,#reminders #reminderContactFilter+.ow-select-trigger { width:100%; font-size:16px; }
  #reminders #reminderCards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #reminders #reminderCards>.card { padding:15px; }
  #reminders #reminderCards>.card:last-child { grid-column:1/-1; }
  #reminders #reminderCards strong { font-size:25px; }
  #reminders .panel-head { padding:16px; }
  #reminders #v110ReminderQueue .ow-r-queue-empty { padding:0; }
  #reminders #v110ReminderQueue .ow-r-queue-empty>.empty { padding:0 16px 16px; }
  #reminders #v110ReminderQueue .list { padding-inline:16px; }
  #reminders #v110ReminderQueue .list-item { flex-wrap:wrap; }
  #reminders .table,#reminders .table.v13-card-table { min-width:0; }
  #reminders .table.v13-card-table tbody { gap:12px; padding:12px; }
  #reminders .table.v13-card-table tr { padding:14px; border:1px solid var(--rm-line); background:var(--rm-bg); border-radius:10px; }
  #reminders .table.v13-card-table td { grid-template-columns:90px minmax(0,1fr); gap:12px; padding:10px 0 !important; border-color:var(--rm-line) !important; box-shadow:none !important; }
  #reminders .table.v13-card-table td::before { color:var(--rm-muted); font-size:10px; text-transform:none; letter-spacing:0; font-weight:400; }
  #reminders .table.v13-card-table td:first-child { display:block; padding-top:0 !important; }
  #reminders .table.v13-card-table td:first-child::before { display:none; }
  #reminders .table.v13-card-table tr.reminder-row-red { border-left:3px solid #cf6470; }
  #reminders .table.v13-card-table tr.reminder-row-amber { border-left:3px solid #c4a15e; }
  #reminders .ow-r-actions { justify-content:flex-start; flex-wrap:wrap; }
}
