.profile-maintenance-card{position:relative}.maintenance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.maintenance-summary>span{display:grid;gap:3px;padding:12px;border:1px solid rgba(10,28,37,.12);border-radius:14px;background:#fffdf9;color:#55707d;font-weight:800;text-align:center}.maintenance-summary b{color:#163547;font:900 1.45rem/1 Rubik,Arial,sans-serif}.maintenance-summary .is-overdue b{color:#a33c32}.maintenance-summary .is-today b{color:#d9782b}.maintenance-equipment-list{display:grid;gap:8px}.maintenance-equipment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:64px;padding:12px 14px;border:1px solid rgba(10,28,37,.14);border-radius:14px;background:#fff;color:#163547;text-align:start;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.maintenance-equipment-row:hover{transform:translateY(-1px);border-color:rgba(217,120,43,.5);box-shadow:0 7px 16px rgba(10,28,37,.08)}.maintenance-equipment-row>span:first-child{display:grid;gap:3px}.maintenance-equipment-row strong{font:900 1rem/1.2 Rubik,Arial,sans-serif}.maintenance-equipment-row small{color:#60717b;font-weight:700}.maintenance-row-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#163547;color:#fff;font-size:20px}.maintenance-recent{margin-top:18px;padding-top:14px;border-top:1px solid rgba(10,28,37,.1)}.maintenance-recent h4,.maintenance-history h4{margin:0 0 9px;color:#163547;font:900 1rem Rubik,Arial,sans-serif}.maintenance-recent>div{display:flex;gap:8px;overflow:auto}.maintenance-recent span{display:grid;gap:2px;min-width:150px;padding:9px 11px;border-radius:11px;background:#eef5f2}.maintenance-recent small{color:#60717b}.equipment-maintenance-dialog{width:min(720px,calc(100vw - 20px));max-width:none}.equipment-maintenance-dialog .profile-avatar-dialog-card{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}.maintenance-safety-note{margin:0;padding:11px 13px;border-inline-start:3px solid #d9782b;border-radius:8px;background:#fff6e9;color:#4e626b;font-weight:700;line-height:1.45}.maintenance-dialog-body{display:grid;gap:10px}.maintenance-task{padding:14px;border:1px solid rgba(10,28,37,.14);border-radius:15px;background:#fff}.maintenance-task.is-overdue{border-color:rgba(163,60,50,.5)}.maintenance-task.is-today{border-color:rgba(217,120,43,.65)}.maintenance-task-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.maintenance-task-heading>div{display:grid;gap:4px}.maintenance-task-heading strong{color:#163547;font:900 1rem Rubik,Arial,sans-serif}.maintenance-task-heading small{max-width:460px;color:#60717b;font-weight:650;line-height:1.4}.maintenance-task-heading>span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#eef5f2;color:#315b5b;font-size:.78rem;font-weight:900}.maintenance-task-actions,.maintenance-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.maintenance-task-actions button{min-height:36px;padding:7px 11px}.maintenance-task-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(10,28,37,.1)}.maintenance-task-form>label{display:grid;gap:5px;color:#163547;font-weight:800}.maintenance-task-form textarea,.maintenance-task-form label:has(textarea),.maintenance-task-form .maintenance-form-actions{grid-column:1/-1}.maintenance-task-form input,.maintenance-task-form textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid rgba(10,28,37,.2);border-radius:10px;background:#fffdf9;color:#163547;font:700 1rem Assistant,Arial,sans-serif}.maintenance-unknown-date{align-self:end;min-height:44px;border:1px dashed rgba(10,28,37,.3);border-radius:10px;background:#f5f7f5;color:#163547;font-weight:800}.maintenance-history{display:grid;gap:7px;margin-top:8px;padding-top:14px;border-top:1px solid rgba(10,28,37,.1)}.maintenance-history>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid rgba(10,28,37,.08)}.maintenance-history>div>span{display:grid;gap:2px}.maintenance-icon-button{min-width:40px;min-height:36px;padding:6px 8px}.maintenance-icon-button.is-danger{color:#a33c32}.profile-equipment-maintenance-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.maintenance-confirm-dialog{width:min(390px,calc(100vw - 24px));max-width:none}.maintenance-confirm-dialog h3,.maintenance-confirm-dialog p{margin:0}.maintenance-confirm-dialog p{color:#60717b}.header-daily-streak-maintenance{position:absolute;inset-block-start:-4px;inset-inline-start:-4px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#d9782b;box-shadow:0 2px 5px rgba(10,28,37,.2)}.header-daily-streak.has-maintenance-overdue .header-daily-streak-maintenance{background:#b64338}.header-daily-streak.has-maintenance-today .header-daily-streak-maintenance{animation:maintenanceDuePulse .8s ease-in-out 2}.daily-streak-calendar-maintenance-marker{position:absolute;z-index:4;inset-block-start:4px;inset-inline-start:4px;display:grid;place-items:center;width:17px;height:17px;padding:0;border:1px solid #fff;border-radius:50%;background:#d9782b;color:#fff;font:900 11px/1 Arial;cursor:pointer}.daily-streak-calendar-maintenance-marker.is-complete{background:#3e776a}.daily-streak-calendar-maintenance-detail{display:grid;gap:5px;padding:10px 12px;border:1px solid rgba(217,120,43,.3);border-radius:12px;background:#fff8ee;color:#163547}.daily-streak-calendar-maintenance-detail[hidden]{display:none}.daily-streak-calendar-maintenance-detail button{justify-self:start}.daily-streak-calendar-filters{display:flex;gap:7px}.daily-streak-calendar-filter{min-height:32px;padding:5px 10px;border:1px solid rgba(10,28,37,.15);border-radius:999px;background:#fff;color:#163547;font-weight:800}.daily-streak-calendar-filter[aria-pressed=true]{background:#163547;color:#fff}.daily-streak-calendar-card[data-calendar-layer=coffee] .daily-streak-calendar-maintenance-marker{display:none}.daily-streak-calendar-card[data-calendar-layer=maintenance] .daily-streak-calendar-day.is-posted{background-image:none!important;background-color:#fffaf3}.daily-streak-calendar-card[data-calendar-layer=maintenance] .daily-streak-calendar-day.is-posted:after{display:none}@keyframes maintenanceDuePulse{50%{transform:scale(1.5);box-shadow:0 0 0 6px rgba(217,120,43,.18)}}
@media(max-width:700px){.maintenance-summary{gap:6px}.maintenance-summary>span{padding:9px 5px;font-size:.76rem}.maintenance-task-heading{display:grid}.maintenance-task-heading>span{justify-self:start}.maintenance-task-form{grid-template-columns:1fr}.maintenance-task-form>*{grid-column:1!important}.maintenance-task-actions button{flex:1 1 120px}.maintenance-history>div{grid-template-columns:minmax(0,1fr) auto auto}.maintenance-calendar-button{padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.header-daily-streak.has-maintenance-today .header-daily-streak-maintenance{animation:none}.maintenance-equipment-row{transition:none}}

/* Keep exactly one scrolling surface in the cleaning dialog. The base dialog
   and its card previously had competing overflow limits, so a visible desktop
   scrollbar could belong to one element while the mouse wheel targeted the
   other. The dialog now frames the popup and the card owns wheel/touch scroll. */
.equipment-maintenance-dialog {
  width:min(720px,calc(100vw - 32px));
  max-height:min(820px,calc(var(--overlay-viewport-height,100dvh) - 32px));
  overflow: hidden;
}
.equipment-maintenance-dialog .profile-avatar-dialog-card.kalimera-overlay-surface {
  max-height:inherit;
  overflow:hidden;
}
.equipment-maintenance-dialog .maintenance-dialog-scroll {
  min-height:0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  touch-action: pan-y;
}
.maintenance-product-links{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;color:#60717b;font-size:.84rem;font-weight:800}.maintenance-product-links a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;border:1px solid rgba(217,120,43,.4);border-radius:999px;background:#fff8ee;color:#a75422;text-decoration:none;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.maintenance-product-links a:hover{border-color:#d9782b;background:#fff0dc;transform:translateY(-1px)}
#equipmentMaintenanceTitle{padding-block-end:8px}
.maintenance-safety-note{padding-block-end:18px;margin-block-end:16px}
@media(min-width:901px){body.profile-page .profile-maintenance-card{grid-column:1/-1;width:100%}}
.maintenance-date-control{display:flex;align-items:center;gap:6px;min-width:0}
.maintenance-date-control input{flex:1 1 auto;min-width:0}
.maintenance-date-control .maintenance-unknown-date{align-self:auto;display:inline-grid;place-items:center;flex:0 0 auto;min-height:32px;padding:5px 11px;border:1px solid rgba(43,110,143,.3);border-radius:999px;background:#fff;color:#2b6e8f;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);font:800 .78rem/1 Assistant,Arial,sans-serif;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.maintenance-date-control .maintenance-unknown-date:hover{border-color:#2b6e8f;background:#edf5f4;color:#163547;transform:translateY(-1px)}
.maintenance-date-control .maintenance-unknown-date:focus-visible{outline:3px solid rgba(43,110,143,.2);outline-offset:2px}
.maintenance-date-control .maintenance-unknown-date:active{transform:none}
.maintenance-task.is-saving{opacity:.62;pointer-events:none;transition:opacity .18s ease}
.maintenance-task.is-saving::after{content:'שומרים…';display:block;margin-block-start:10px;color:#60717b;font-size:.82rem;font-weight:800}
.profile-equipment-form.is-saving{opacity:.62;pointer-events:none;transition:opacity .18s ease}
body.profile-page .profile-card.profile-identity-card,
body.profile-page .profile-card.profile-identity-card::before,
body.profile-page .profile-card.profile-identity-card::after{box-shadow:none!important;filter:none!important}
@media(max-width:700px){
  .equipment-maintenance-dialog.kalimera-responsive-overlay{width:100%;max-height:var(--overlay-viewport-height,100dvh)}
  .equipment-maintenance-dialog .profile-avatar-dialog-close{
    box-sizing:border-box;
    flex:0 0 36px;
    inline-size:36px;
    block-size:36px;
    min-inline-size:36px;
    min-block-size:36px;
    padding:0;
    aspect-ratio:1/1;
    border-radius:50%;
  }
}

/* Task dates and intervals now open in a focused secondary dialog. Keeping
   that editor outside the maintenance list prevents every task from growing
   an embedded form and preserves a compact, scan-friendly primary popup. */
.maintenance-task-editor-dialog{width:min(430px,calc(100vw - 24px));max-width:none}
.maintenance-task-editor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.maintenance-task-editor-form>label{display:grid;gap:5px;color:#163547;font-weight:800}
.maintenance-task-editor-form textarea,
.maintenance-task-editor-form label:has(textarea),
.maintenance-task-editor-form .maintenance-form-actions,
.maintenance-task-editor-form .maintenance-dialog-status{grid-column:1/-1}
.maintenance-task-editor-form input,
.maintenance-task-editor-form textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid rgba(10,28,37,.2);border-radius:10px;background:#fffdf9;color:#163547;font:700 1rem Assistant,Arial,sans-serif}
.maintenance-task-editor-form .maintenance-dialog-status{margin:0}
@media(max-width:700px){
  .maintenance-task-editor-dialog.kalimera-responsive-overlay{width:100%}
  .maintenance-task-editor-form{grid-template-columns:1fr}
  .maintenance-task-editor-form>*{grid-column:1!important}
}

/* Calendar maintenance status is a compact circular badge. Explicit logical
   bounds prevent inherited control sizing from stretching its height. */
.daily-streak-calendar-maintenance-marker{
  box-sizing:border-box;
  display:inline-grid!important;
  place-content:center;
  flex:0 0 18px;
  inline-size:18px!important;
  block-size:18px!important;
  width:18px!important;
  height:18px!important;
  min-inline-size:18px!important;
  min-block-size:18px!important;
  max-inline-size:18px!important;
  max-block-size:18px!important;
  aspect-ratio:1/1;
  padding:0!important;
  border-radius:50%!important;
  line-height:1!important;
  overflow:hidden;
}

/* Keep the maintenance marker a true circular affordance on touch layouts.
   Some mobile user-agent rules size calendar descendants by their inline
   content; explicit logical dimensions and grid centering prevent a stretched
   oval or a clipped status glyph without changing the calendar cell size. */
@media (max-width:700px){
  .daily-streak-calendar-maintenance-marker{
    inline-size:20px!important;
    block-size:20px!important;
    width:20px!important;
    height:20px!important;
    min-inline-size:20px!important;
    min-block-size:20px!important;
    max-inline-size:20px!important;
    max-block-size:20px!important;
    aspect-ratio:1/1!important;
    display:grid!important;
    place-items:center!important;
    align-content:center!important;
    justify-content:center!important;
    line-height:20px!important;
    font-size:10px!important;
  }
}
