/* v51: dashboard calendar and complete single-row job table */
.calendar-status-dot{display:inline-block;flex:none;width:11px;height:11px;border:2px solid rgba(255,255,255,.92);border-radius:999px;box-shadow:0 1px 4px rgba(16,35,63,.18)}
.calendar-status-dot.danger{background:#dd3854}.calendar-status-dot.success{background:#14a36f}.calendar-status-dot.progress{background:#e4a11b}.calendar-status-dot.empty{background:#9aa9bb}
.calendar-legend .calendar-status-dot{width:12px;height:12px;border-color:rgba(16,35,63,.1)}
.calendar-legend i.calendar-status-dot:before{content:none!important}
.calendar-day .calendar-status-dot{position:absolute;top:11px;right:11px}.calendar-day .calendar-status-dot.empty{opacity:.55}
.dashboard-calendar{margin-top:22px}.dashboard-calendar .calendar-head p{max-width:560px}.dashboard-calendar .calendar-grid{margin-bottom:2px}

.todo-list-panel{overflow:hidden}
.todo-list-panel .table-wrap{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}
.todo-list-panel .inline-jobs-table{display:table;width:100%;min-width:1450px;table-layout:auto}
.todo-list-panel .jobs-table thead{display:table-header-group}
.todo-list-panel .jobs-table tbody{display:table-row-group}
.todo-list-panel .jobs-table tr{display:table-row}
.todo-list-panel .jobs-table th,.todo-list-panel .jobs-table td{display:table-cell!important;width:auto!important;padding:10px 9px;vertical-align:top;white-space:nowrap}
.todo-list-panel .jobs-table td:before{content:none!important;display:none!important}
.todo-list-panel .jobs-table td:nth-child(2),.todo-list-panel .jobs-table td:nth-child(10){white-space:normal;min-width:180px;max-width:260px}
.todo-list-panel .jobs-table td:nth-child(10){line-height:1.5}
.todo-list-panel .status-cell{min-width:180px}.todo-list-panel .status-picker-button{min-width:170px;min-height:56px;padding:8px 30px 8px 9px}.todo-list-panel .status-picker-button>b{font-size:12px}
.todo-list-panel .payment-summary{min-width:175px}.todo-list-panel .inline-job-select,.todo-list-panel .assignee-select{min-width:130px}.todo-list-panel .urgency-cell{min-width:100px}.todo-list-panel .color-mark{margin-top:7px}

@media(max-width:860px){.todo-list-panel{border-radius:16px}.todo-list-panel .job-day-heading{position:sticky;top:0;z-index:2}.job-filters{gap:7px}.job-filters input{width:100%;flex-basis:100%}.job-filters select{flex:1 1 calc(50% - 7px);min-width:0}.job-filters .spacer{display:none}}
@media(max-width:520px){.dashboard-calendar{margin-top:14px}.calendar-day .calendar-status-dot{top:7px;right:7px;width:8px;height:8px}.calendar-legend .calendar-status-dot{width:10px;height:10px}}

.todo-overdue-alert{margin:0 0 10px;padding:9px 12px;border:1px solid #e23b52;border-radius:12px;background:#fff1f3;box-shadow:0 5px 16px rgba(174,26,48,.09)}
.todo-overdue-compact{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.todo-overdue-siren{font-size:23px}.todo-overdue-compact>div{display:flex;align-items:baseline;gap:8px;min-width:0}.todo-overdue-compact p,.todo-overdue-compact b,.todo-overdue-compact small{margin:0}.todo-overdue-compact p{color:#a91d34;font-size:10px;font-weight:900}.todo-overdue-compact b{color:#781326;font-size:14px}.todo-overdue-compact small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8b4754;font-size:10px}.todo-overdue-compact button{min-height:32px;padding:6px 11px;border:0;border-radius:8px;background:#b91f37;color:#fff;font-size:11px;font-weight:900}
@media(max-width:700px){.todo-overdue-compact{grid-template-columns:auto 1fr}.todo-overdue-compact>div{display:grid;gap:1px}.todo-overdue-compact button{grid-column:1/-1;width:100%}}

/* v65: fixed priority queues and unmistakable red urgent work */
.queue-priority-group{margin:0 0 14px;border:2px solid #d9e2ee;border-radius:15px;overflow:hidden;box-shadow:0 8px 22px rgba(23,43,77,.08)}
.queue-priority-group .job-day-heading{padding:11px 14px;border-bottom:1px solid rgba(30,49,78,.12)}
.queue-priority-group .job-day-heading h3{font-size:17px;font-weight:950;letter-spacing:-.01em}.queue-priority-group .job-day-heading span{font-weight:850}
.queue-overdue{border-color:#c81432}.queue-overdue .job-day-heading{color:#fff;background:repeating-linear-gradient(-45deg,#8f1027 0,#8f1027 12px,#a9142e 12px,#a9142e 24px)}
.queue-outstanding{border-color:#e05528}.queue-outstanding .job-day-heading{color:#6d1b08;background:repeating-linear-gradient(-45deg,#fff0e8 0,#fff0e8 12px,#ffe1d2 12px,#ffe1d2 24px)}
.queue-red{border-color:#e11d48}.queue-red .job-day-heading{color:#fff;background:repeating-linear-gradient(-45deg,#b31235 0,#b31235 12px,#d51b48 12px,#d51b48 24px)}
.queue-shopee{border-color:#ee5b19}.queue-shopee .job-day-heading{color:#fff;background:repeating-linear-gradient(-45deg,#cf4309 0,#cf4309 12px,#ee5b19 12px,#ee5b19 24px)}

.todo-list-panel .inline-jobs-table .job-row.color-red>td{background:repeating-linear-gradient(-45deg,rgba(211,17,57,.11) 0,rgba(211,17,57,.11) 11px,rgba(255,255,255,.22) 11px,rgba(255,255,255,.22) 22px),linear-gradient(180deg,#fff1f4,#ffdfe6);border-top:2px solid #e11d48;border-bottom:2px solid #e11d48}
.todo-list-panel .inline-jobs-table .job-row.color-red>td:first-child{box-shadow:inset 8px 0 0 #9f1239!important}
.urgent-now-badge{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:6px 8px;border:2px solid #fff;border-radius:8px;background:#bd1238;color:#fff;font-size:11px;font-weight:950;line-height:1.1;white-space:nowrap;box-shadow:0 0 0 3px #e11d48,0 6px 14px rgba(159,18,57,.28);animation:urgent-now-pulse 1.25s ease-in-out infinite}
.urgent-now-badge i{font-style:normal;font-size:14px}.job-row.color-red .color-select{border:2px solid #be123c;background:#fff5f7;color:#8f1230;font-weight:900}
@keyframes urgent-now-pulse{0%,100%{transform:scale(1);filter:saturate(1)}50%{transform:scale(1.045);filter:saturate(1.35)}}
@media(prefers-reduced-motion:reduce){.urgent-now-badge{animation:none}}
