/* Tremac Planner — Outlook-style calendar */
.tremac-planner-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.tremac-planner-views{display:flex;flex-wrap:wrap;gap:6px}
.tremac-planner-views .button.active{background:var(--tremac-gold,#c79737);color:#111;border-color:transparent}
.tremac-planner-date{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tremac-planner-legend{display:flex;flex-wrap:wrap;gap:14px 18px;list-style:none;margin:0 0 12px;padding:0;font-size:.85rem}
.tremac-planner-legend li{display:flex;align-items:center;gap:6px;color:#334155}
.tremac-planner-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.tremac-planner-legend .planner-tone-assigned i,.planner-tone-assigned{--planner-tone:#15803d}
.tremac-planner-legend .planner-tone-pending i,.planner-tone-pending{--planner-tone:#d97706}
.tremac-planner-legend .planner-tone-overdue i,.planner-tone-overdue{--planner-tone:#dc2626}
.tremac-planner-legend .planner-tone-completed i,.planner-tone-completed{--planner-tone:#2563eb}
.tremac-planner-legend .planner-tone-cancelled i,.planner-tone-cancelled{--planner-tone:#64748b}
.tremac-planner-legend i{background:var(--planner-tone)}
.tremac-planner-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:12px}
.tremac-planner-summary div{border:1px solid var(--border,#d8dee5);border-radius:12px;padding:12px;background:var(--surface-soft,#f7f9fb)}
.tremac-planner-summary strong{display:block;font-size:1.25rem}
.tremac-planner-summary span{opacity:.75;font-size:.85rem}
.tremac-planner-panel{max-width:100%;min-width:0}
.tremac-planner-panel .panel-body{padding:12px;max-width:100%;min-width:0;overflow-x:hidden}
.tremac-planner-cal-head{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px}
.tremac-planner-cal-head h2{margin:0;font-size:1.15rem}
.tremac-planner-cal-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tremac-planner-month{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:0;border:1px solid #d7dee7;border-radius:10px;overflow:hidden;background:#fff;min-width:840px}
.tremac-planner-weekday{background:#0b1f38;color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.02em;padding:8px 6px;text-align:center}
.tremac-planner-week .tremac-planner-weekday{background:#0b1f38;color:#fff;border-radius:0;margin:0;display:flex;justify-content:space-between;align-items:center;padding:8px 10px}
.tremac-planner-cell{min-height:108px;max-height:240px;overflow:hidden;position:relative;border-right:1px solid #e5eaf0;border-bottom:1px solid #e5eaf0;padding:6px;background:#fff;vertical-align:top}
.tremac-planner-cell:nth-child(7n),.tremac-planner-month .tremac-planner-cell:nth-child(7n+7){border-right:0}
.tremac-planner-cell.is-muted{background:#f8fafc;color:#94a3b8}
.tremac-planner-cell.is-today{background:#fffbeb;box-shadow:inset 0 0 0 2px #c79737}
.tremac-planner-cell.is-expanded{max-height:none;overflow:visible;z-index:2}
.tremac-planner-cell-date{font-weight:700;font-size:.85rem;margin-bottom:4px}
.tremac-planner-cell.is-today .tremac-planner-cell-date{color:#92400e}
.tremac-planner-cell-jobs{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;max-height:168px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.tremac-planner-empty-day{font-size:.72rem;color:#94a3b8}
.tremac-planner-job{display:block;width:100%;border:0;border-left:3px solid var(--planner-tone,#64748b);background:#f8fafc;border-radius:6px;padding:5px 6px;text-align:left;cursor:pointer;color:#0f172a}
.tremac-planner-job.planner-tone-assigned{background:#dcfce7;--planner-tone:#15803d}.tremac-planner-job.planner-tone-pending{background:#ffedd5;--planner-tone:#d97706}.tremac-planner-job.planner-tone-overdue{background:#fee2e2;--planner-tone:#dc2626}.tremac-planner-job.planner-tone-completed{background:#dbeafe;--planner-tone:#2563eb}.tremac-planner-job.planner-tone-cancelled{background:#f1f5f9;--planner-tone:#64748b}
.tremac-planner-job strong{display:block;font-size:.78rem;line-height:1.2}.tremac-planner-job-meta{display:block;font-size:.68rem;line-height:1.25;opacity:.85}.tremac-planner-job-status{display:inline-block;margin-top:3px;font-size:.65rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--planner-tone,#334155)}
.tremac-planner-job-wrap{margin-bottom:8px}.tremac-planner-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tremac-planner-more{border:0;background:transparent;color:#1d4ed8;font-size:.72rem;cursor:pointer;text-align:left;padding:2px 0}
.tremac-planner-overflow{display:none;max-height:140px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.tremac-planner-cell.is-expanded .tremac-planner-overflow{display:flex;flex-direction:column;gap:4px;max-height:min(220px,42vh)}.tremac-planner-week-col .tremac-planner-cell-jobs{max-height:min(240px,42vh)}.tremac-planner-cell.is-expanded .tremac-planner-more{display:none}
.tremac-planner-week{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:0;border:1px solid #d7dee7;border-radius:10px;overflow:hidden;min-width:980px;background:#fff}.tremac-planner-week-col{min-height:280px;border-right:1px solid #e5eaf0;padding:0 0 8px;background:#fff}.tremac-planner-week-col:last-child{border-right:0}.tremac-planner-week-col.is-today{background:#fffbeb}.tremac-planner-week-col .tremac-planner-cell-jobs{padding:8px}
.tremac-planner-day-list h2{margin:0 0 12px}.tremac-planner-agenda th,.tremac-planner-agenda td,.tremac-planner-next th,.tremac-planner-next td{text-align:left;padding:8px;border-bottom:1px solid var(--border,#d8dee5);vertical-align:top}
tr.planner-tone-assigned,tr.planner-tone-pending,tr.planner-tone-overdue,tr.planner-tone-completed,tr.planner-tone-cancelled{border-left:3px solid var(--planner-tone,#64748b)}tr.planner-tone-assigned{background:#f0fdf4}tr.planner-tone-pending{background:#fffbeb}tr.planner-tone-overdue{background:#fef2f2}tr.planner-tone-completed{background:#eff6ff}tr.planner-tone-cancelled{background:#f8fafc}
.tremac-planner-phone-agenda{display:none;margin-top:16px}.tremac-planner-phone-agenda .table-wrap{max-width:100%;overflow-x:auto}.tremac-today-plan{margin:18px 0 0;padding:18px 18px 8px;background:#fff;border:1px solid #d9e2ec;border-radius:18px;box-shadow:0 8px 24px rgba(20,43,72,.05)}#tremacReferenceDashboard .tremac-today-plan{margin-top:18px}.tremac-today-plan h3{margin:18px 0 8px}
@media (max-width:1023px){.tremac-planner-month{min-width:840px}.tremac-planner-week{min-width:980px}}
@media (max-width:760px){.tremac-planner-phone-agenda{display:block}.tremac-planner-cell{min-height:96px;max-height:220px}.tremac-planner-phone-agenda .table-wrap{overflow-x:auto}}
.tremac-planner-day-dialog-backdrop{position:fixed;inset:0;z-index:10040;display:grid;place-items:center;padding:16px;background:rgba(7,19,38,.55);backdrop-filter:blur(2px)}
.tremac-planner-day-dialog{width:min(560px,100%);max-height:88vh;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 24px 64px rgba(0,0,0,.22);display:grid;grid-template-rows:auto 1fr}.tremac-planner-day-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e5eaf0}.tremac-planner-day-dialog>header h2{margin:0;font-size:1.05rem;color:#0b2345}.tremac-planner-day-dialog>header p{margin:4px 0 0;font-size:.82rem;color:#64748b}.tremac-planner-day-list{display:grid;gap:8px;padding:12px 14px;overflow:auto;max-height:min(70vh,640px)}
.tremac-planner-day-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;border-left:3px solid var(--planner-tone,#64748b);border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer;background:#f8fafc;color:#0f172a}.tremac-planner-day-row.planner-tone-assigned{background:#dcfce7;--planner-tone:#15803d}.tremac-planner-day-row.planner-tone-pending{background:#ffedd5;--planner-tone:#d97706}.tremac-planner-day-row.planner-tone-overdue{background:#fee2e2;--planner-tone:#dc2626}.tremac-planner-day-row.planner-tone-completed{background:#dbeafe;--planner-tone:#2563eb}.tremac-planner-day-row.planner-tone-cancelled{background:#f1f5f9;--planner-tone:#64748b}.tremac-planner-day-row.planner-tone-scheduled{background:#e0e7ff;--planner-tone:#4338ca}.tremac-planner-day-row.planner-tone-in-progress{background:#fef9c3;--planner-tone:#a16207}.tremac-planner-day-row strong{display:block;font-size:.88rem}.tremac-planner-day-row small{display:block;font-size:.75rem;color:#475569;margin-top:2px}

/* Planner create/edit job modal: more professional spacing and comfortable touch targets. */
#modalRoot .modal-card:has([data-planner-job-form]),#modalRoot .modal-card:has([data-planner-create-job]){width:min(760px,calc(100vw - 32px));max-height:92vh;border-radius:16px}
#modalRoot .modal-card:has([data-planner-job-form]) .modal-body,#modalRoot .modal-card:has([data-planner-create-job]) .modal-body{padding:20px 22px 24px;overflow:auto}
#modalRoot .modal-card:has([data-planner-job-form]) form,#modalRoot .modal-card:has([data-planner-create-job]) form{display:grid;gap:16px}
#modalRoot .modal-card:has([data-planner-job-form]) label,#modalRoot .modal-card:has([data-planner-create-job]) label{display:grid;gap:7px;margin:0;color:#1f2937;font-weight:600;line-height:1.3}
#modalRoot .modal-card:has([data-planner-job-form]) input,#modalRoot .modal-card:has([data-planner-job-form]) select,#modalRoot .modal-card:has([data-planner-job-form]) textarea,#modalRoot .modal-card:has([data-planner-create-job]) input,#modalRoot .modal-card:has([data-planner-create-job]) select,#modalRoot .modal-card:has([data-planner-create-job]) textarea{width:100%;min-height:48px;padding:11px 13px;border-radius:9px;font-size:15px;line-height:1.4}
#modalRoot .modal-card:has([data-planner-job-form]) textarea,#modalRoot .modal-card:has([data-planner-create-job]) textarea{min-height:120px;resize:vertical}

@media(max-width:760px){.tremac-planner-day-dialog-backdrop{padding:0;align-items:flex-end}.tremac-planner-day-dialog{border-radius:16px 16px 0 0;max-height:92vh}
#modalRoot .modal-card:has([data-planner-job-form]),#modalRoot .modal-card:has([data-planner-create-job]){width:calc(100vw - 20px);max-height:94vh;margin:10px;border-radius:18px}
#modalRoot .modal-card:has([data-planner-job-form]) .modal-header,#modalRoot .modal-card:has([data-planner-create-job]) .modal-header{padding:18px 18px 14px}
#modalRoot .modal-card:has([data-planner-job-form]) .modal-body,#modalRoot .modal-card:has([data-planner-create-job]) .modal-body{padding:18px 18px 26px}
#modalRoot .modal-card:has([data-planner-job-form]) form,#modalRoot .modal-card:has([data-planner-create-job]) form{gap:18px}
#modalRoot .modal-card:has([data-planner-job-form]) input,#modalRoot .modal-card:has([data-planner-job-form]) select,#modalRoot .modal-card:has([data-planner-job-form]) textarea,#modalRoot .modal-card:has([data-planner-create-job]) input,#modalRoot .modal-card:has([data-planner-create-job]) select,#modalRoot .modal-card:has([data-planner-create-job]) textarea{min-height:52px;padding:12px 14px;font-size:16px}#modalRoot .modal-card:has([data-planner-job-form]) textarea,#modalRoot .modal-card:has([data-planner-create-job]) textarea{min-height:132px}}

html[data-theme="dark"] .tremac-planner-summary div{background:#1e293b;border-color:#334155;color:#e2e8f0}html[data-theme="dark"] .tremac-planner-legend li{color:#cbd5e1}html[data-theme="dark"] .tremac-planner-month,html[data-theme="dark"] .tremac-planner-week,html[data-theme="dark"] .tremac-planner-cell,html[data-theme="dark"] .tremac-planner-week-col{background:#1e293b;border-color:#334155;color:#e2e8f0}html[data-theme="dark"] .tremac-planner-cell.is-muted{background:#0f172a;color:#64748b}html[data-theme="dark"] .tremac-planner-cell.is-today{background:#422006;box-shadow:inset 0 0 0 2px #c79737}html[data-theme="dark"] .tremac-planner-job.planner-tone-assigned{background:#14532d;color:#ecfdf5}html[data-theme="dark"] .tremac-planner-job.planner-tone-pending{background:#78350f;color:#fffbeb}html[data-theme="dark"] .tremac-planner-job.planner-tone-overdue{background:#7f1d1d;color:#fef2f2}html[data-theme="dark"] .tremac-planner-job.planner-tone-completed{background:#1e3a8a;color:#eff6ff}html[data-theme="dark"] .tremac-planner-job.planner-tone-cancelled{background:#334155;color:#f1f5f9}html[data-theme="dark"] .tremac-planner-job.planner-tone-scheduled{background:#312e81;color:#e0e7ff}html[data-theme="dark"] .tremac-planner-job.planner-tone-in-progress{background:#713f12;color:#fef9c3}html[data-theme="dark"] .tremac-planner-more{color:#93c5fd}html[data-theme="dark"] .tremac-planner-day-dialog{background:#1e293b;color:#e2e8f0}html[data-theme="dark"] .tremac-planner-day-dialog>header{border-bottom-color:#334155}html[data-theme="dark"] .tremac-planner-day-dialog>header h2{color:#f1f5f9}html[data-theme="dark"] .tremac-planner-day-dialog>header p{color:#94a3b8}html[data-theme="dark"] .tremac-planner-day-row{color:#f8fafc}html[data-theme="dark"] .tremac-planner-day-row small{color:#cbd5e1}html[data-theme="dark"] .tremac-today-plan{background:#1e293b;border-color:#334155;color:#e2e8f0}
