dialog.patrol-calendar{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;padding:24px;border:1px solid var(--line);border-radius:26px;background:var(--bg);color:var(--accent);overflow:auto}dialog.patrol-calendar::backdrop{background:rgba(0,0,0,.68)}.calendar-heading{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.calendar-heading h2{font-size:1.4rem;margin:0;color:var(--accent)}.calendar-heading button{position:absolute;left:0;background:transparent;border:0;color:var(--accent);padding:6px;min-width:40px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:4px}.calendar-week{font-weight:700;margin-bottom:10px}.calendar-days button{padding:0;min-width:0;min-height:44px;border:0;border-radius:50%;background:transparent;color:var(--accent);font-size:1.15rem;aspect-ratio:1}.calendar-days button:disabled{opacity:.28;cursor:default}.calendar-days button[aria-pressed=true]{background:var(--accent-glow);font-weight:800;box-shadow:inset 0 0 0 1px var(--accent)}.calendar-time{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:10px}.calendar-time>div{display:flex;align-items:center;gap:8px}.calendar-time select{width:78px;margin:0;background:var(--panel-a);color:var(--accent);font-size:1.2rem;font-weight:bold}.calendar-error{font-size:.85rem;min-height:1.2em;margin:10px 0}.calendar-done,.calendar-cancel{width:100%;margin-top:6px}.calendar-done{font-size:1.1rem}.calendar-cancel{background:transparent;color:var(--muted);border:0}.patrol-calendar :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkpoint-photo{display:block;max-width:100%;max-height:220px;border-radius:14px;object-fit:contain;margin:10px 0}button[data-date]{width:100%;text-align:right;margin-top:8px;min-height:52px}#newPlan{font-size:2rem;min-width:56px;line-height:1} @media(max-width:360px){dialog.patrol-calendar{padding:14px}.calendar-days{gap:0}.calendar-days button{min-height:40px}.calendar-heading h2{font-size:1.2rem}}

/* The month title and next button occupy separate grid tracks, including at 320px. */
.calendar-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px;text-align:center}
.calendar-heading button{position:static;min-height:44px;padding:8px}
.calendar-heading h2{overflow-wrap:anywhere;font-size:clamp(18px,5vw,23px)}
[dir=ltr] .calendar-heading button{transform:scaleX(-1)}
button[data-date]{text-align:start}
.calendar-week{font-size:clamp(12px,3.4vw,16px)}
.calendar-time{flex-wrap:wrap}
.calendar-time select{min-width:0;width:70px}

.calendar-days button{min-height:max(44px,1.5em);line-height:1.2;white-space:nowrap}

.calendar-heading{grid-template-columns:44px minmax(0,1fr) 44px}.calendar-time[hidden],.plan-times[hidden]{display:none}.calendar-heading button:disabled{opacity:.25;cursor:default}.plan-choices{display:grid;gap:16px}.plan-choices button{min-height:100px;padding:24px;font-size:1.25rem;border:1px solid var(--accent);border-radius:20px;background:var(--panel-a);color:var(--accent)}#planForm select{min-height:54px;border:1px solid var(--accent);border-radius:14px;background:var(--panel-a);color:var(--ink);padding:12px;width:100%}.plan-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 0}.plan-times input{width:100%;min-width:0;box-sizing:border-box;min-height:52px}#planForm>label{display:block;margin-bottom:18px}#planTimesToggle{width:100%;min-height:52px;margin:12px 0}

.wizard-point{display:grid;grid-template-columns:minmax(130px,1fr) auto;align-items:end;gap:12px;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px;background:var(--panel-a)}.wizard-point .point-name input{margin-bottom:0}.point-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}/* זהב רק לפעולה הראשית (פרסום סיור, .primary). קודם כל עשרת הכפתורים באשף היו זהב — "⌫ מחיקה" נראה בדיוק כמו "פרסום". שאר הכפתורים: מסגרת זהב על רקע הפאנל; מחיקה באדום. */
.wizard-point button,#addPointRow,#patrolPointsForm .form-actions button,#reusePoints button{background:var(--panel-a);color:var(--ink);border-color:var(--accent);border-radius:12px;min-height:46px;transition:filter .15s,transform .15s}.wizard-point button:hover,#addPointRow:hover{filter:brightness(1.12);transform:translateY(-1px)}#patrolPointsForm .form-actions button.primary{background:var(--accent);color:var(--bg)}.wizard-point button[data-wizard-delete]{border-color:var(--bad);color:var(--bad)}.point-status{grid-column:1/-1;margin:0;font-size:.85rem}.point-status:empty{display:none}.wizard-point [data-checkpoint-photo]{grid-column:1/-1}.wizard-point input[type=file][hidden]{display:none!important}#reusePoints{margin:20px 0}#patrolPointsForm .form-actions{gap:12px}.wizard-point .point-buttons button{padding:10px}input[type=file]::file-selector-button{background:var(--accent);color:var(--bg);border:0;border-radius:10px;padding:10px 16px;cursor:pointer;margin-inline-end:12px;font:inherit}@media(max-width:650px){.wizard-point{grid-template-columns:minmax(0,1fr)}.point-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.point-buttons button{min-width:0;width:100%}}
