.job-calendar{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(16,35,63,.08)}
.calendar-head,.calendar-selection{display:flex;align-items:center;justify-content:space-between;gap:18px}.calendar-head h2,.calendar-head p{margin:0}.calendar-head h2{margin-top:3px;font-size:22px}.calendar-head p{margin-top:4px;color:var(--muted);font-size:12px}.calendar-actions{display:flex;align-items:center;gap:7px}.calendar-actions button{min-width:42px}.calendar-actions button:first-child,.calendar-actions button:last-child{font-size:22px;line-height:1;padding:8px 12px}.calendar-today{font-size:12px}
.calendar-legend{display:flex;flex-wrap:wrap;gap:9px 18px;margin:18px 0 12px;padding:11px 13px;border-radius:11px;background:#f7f9fc;color:#526983;font-size:11px;font-weight:800}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:11px;height:11px;border-radius:50%}.calendar-legend i.danger{background:#dc2626}.calendar-legend i.success{background:#16a364}.calendar-legend i.progress{background:#f59e0b}.calendar-legend i.empty{background:#cbd5e1}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{margin-bottom:7px;text-align:center;color:#718096;font-size:11px;font-weight:900}.calendar-weekdays span:first-child{color:#dc2626}.calendar-weekdays span:last-child{color:#2563eb}.calendar-blank{min-height:88px}
.calendar-day{position:relative;min-height:88px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;border:1px solid #dfe6ef;border-radius:12px;background:#f8fafc;color:var(--ink);text-align:left;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.calendar-day:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,35,63,.12)}.calendar-day .calendar-date{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e8edf4;font-weight:1000}.calendar-day b{font-size:12px}.calendar-day small{color:#66758a;font-size:9px;font-weight:800}.calendar-day.danger{border-color:#f3a6a6;background:#fff0f0}.calendar-day.danger .calendar-date{background:#dc2626;color:#fff}.calendar-day.danger small{color:#a91f1f}.calendar-day.success{border-color:#9bdabb;background:#ecfbf3}.calendar-day.success .calendar-date{background:#16a364;color:#fff}.calendar-day.success small{color:#087443}.calendar-day.progress{border-color:#f4cf83;background:#fff8e8}.calendar-day.progress .calendar-date{background:#f59e0b;color:#4a2d00}.calendar-day.progress small{color:#925400}.calendar-day.today:after{content:"วันนี้";position:absolute;right:7px;top:7px;padding:2px 5px;border-radius:999px;background:#10233f;color:#fff;font-size:8px;font-weight:900}.calendar-day.selected{outline:3px solid #2563eb;outline-offset:2px;box-shadow:0 10px 24px rgba(37,99,235,.22)}
.calendar-selection{margin-top:14px;padding:13px 15px;border:1px solid #b8cdf0;border-radius:12px;background:#eef5ff}.calendar-selection b,.calendar-selection span{display:block}.calendar-selection b{font-size:15px}.calendar-selection span{margin-top:2px;color:#526983;font-size:11px}
@media(max-width:760px){.job-calendar{padding:15px}.calendar-head{align-items:flex-start;flex-direction:column}.calendar-actions{width:100%}.calendar-today{flex:1}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-blank,.calendar-day{min-height:72px}.calendar-day{padding:7px}.calendar-day .calendar-date{width:23px;height:23px}.calendar-day b{font-size:10px}.calendar-day small{font-size:8px}.calendar-day.today:after{display:none}.calendar-selection{align-items:flex-start;flex-direction:column}.calendar-selection button{width:100%}}
@media(max-width:460px){.calendar-day{min-height:59px}.calendar-day b{display:none}.calendar-day small{font-size:7px}.calendar-legend{display:grid;grid-template-columns:1fr 1fr}}

.inline-jobs-table .job-row{border-left:0!important}
.inline-jobs-table .job-row.color-red>td{background:#ffe7e7}
.inline-jobs-table .job-row.color-amber>td{background:#fff3d5}
.inline-jobs-table .job-row.color-blue>td{background:#eaf3ff}
.inline-jobs-table .job-row.color-violet>td{background:#f2e8ff}
.inline-jobs-table .job-row.color-slate>td{background:#edf1f4}
.inline-jobs-table .job-row>td{box-shadow:none!important}
.inline-jobs-table .color-mark{display:none}
.urgency-cell{min-width:172px}
.color-select{min-width:158px;margin:0;border:1px solid #aebdce;background:#fff;font-size:14px;font-weight:1000;line-height:1.3}
.urgency-label{display:block;font-size:13px;font-weight:1000;white-space:nowrap}
.color-red .urgency-label{color:#b91c1c}.color-amber .urgency-label{color:#a65b05}.color-blue .urgency-label{color:#1d4ed8}.color-violet .urgency-label{color:#6d28d9}.color-slate .urgency-label{color:#475569}
