.work-calendar{--cal-line:#ece7f5;--cal-purple:#7655d6;--cal-muted:#8c849c;--cal-red:#c84b65;--cal-green:#2a8a70}
.work-calendar .page-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.work-calendar .card{padding:22px;margin-bottom:20px;border:1px solid var(--cal-line);border-radius:16px;background:#fff}
.cal-season-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.work-calendar h3{margin:0 0 10px;line-height:1.6}.cal-season-heading .muted{margin:0;line-height:1.8}.cal-year{font-size:36px;font-weight:700;color:#d6c9f8}
.cal-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.cal-step{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:16px;gap:10px;background:#f7f4ff;border:1px solid #ebe3ff;border-radius:12px;color:#66508c;cursor:pointer}.cal-step small{font-size:12px}.cal-step b{font-size:14px}.cal-step span{font-size:12px}.cal-step.late{background:#fff5f6;border-color:#f6dce2;color:var(--cal-red)}.cal-step.done{background:#f0faf6;border-color:#d5eee4;color:var(--cal-green)}
.cal-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-radius:12px;background:#fff8ed;border:1px solid #f4e3c4;margin:0 0 20px;color:#8c612b;font-size:13px;line-height:1.7}.cal-alert p{margin:6px 0 0}.cal-alert button{flex-shrink:0}.cal-alert>span{flex:1}.cal-home-notice{margin:0 0 12px}
.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.cal-month{min-width:0}.cal-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.cal-month-control{display:flex;gap:8px;align-items:center}.cal-month-control input{border:1px solid var(--cal-line);border-radius:8px;padding:9px;font:inherit;max-width:180px;color:#423353}.cal-toolbar button{padding:8px 10px}
.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-week span{text-align:center;font-size:12px;color:var(--cal-muted);padding:12px 0}.cal-grid{gap:1px;border:1px solid var(--cal-line);background:var(--cal-line);border-radius:10px;overflow:hidden}.cal-day,.cal-empty{min-height:105px;background:#fff;min-width:0}.cal-day{display:flex;flex-direction:column;gap:6px;align-items:stretch;padding:10px 7px;text-align:left;border:0;font:inherit;color:#43394f;cursor:pointer;border-radius:0}.cal-day:hover{background:#faf8ff}.cal-day.selected{background:#f3eeff;box-shadow:inset 0 0 0 2px var(--cal-purple)}.cal-day.is-today .cal-day-number{color:var(--cal-purple);font-weight:700}.cal-day-number{font-size:13px;display:flex;justify-content:space-between;align-items:center}.cal-day small{font-size:10px;color:var(--cal-muted)}.cal-event{padding:4px 5px;background:#f0eaff;color:#7150b5;border-radius:4px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.late{background:#ffe9ee;color:var(--cal-red)}.cal-event.done{background:#e7f6ef;color:var(--cal-green)}.cal-empty{background:#fcfbfd}.cal-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--cal-muted);padding-top:16px}
.cal-task{padding:16px;border:1px solid var(--cal-line);border-radius:12px;background:#fff;min-width:0}.cal-task+.cal-task{margin-top:12px}.cal-task-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.cal-task-heading b{font-size:14px;line-height:1.6}.cal-state{display:inline-block;padding:4px 8px;background:#f2edff;color:#7655b6;border-radius:6px;font-size:11px;white-space:nowrap}.cal-state.late{background:#fff0f3;color:var(--cal-red)}.cal-state.done{background:#eaf8f0;color:var(--cal-green)}.cal-state.due{background:#fff1da;color:#9a641b}.cal-task p{font-size:12px;color:var(--cal-muted);line-height:1.8;margin:10px 0;overflow-wrap:anywhere}.cal-task .cal-note{white-space:pre-wrap;color:#6e637c}.cal-task-actions{display:flex;flex-wrap:wrap;gap:8px}.cal-task-actions button{font-size:12px;padding:7px 10px}.cal-agenda h3{font-size:15px}.cal-agenda>button{margin-top:16px}.cal-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.cal-task-list .cal-task{margin:0}.cal-month-list h3 small{color:var(--cal-muted);font-size:12px;font-weight:400;margin-left:8px}
.cal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.cal-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#6a5c7c}.cal-form input,.cal-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--cal-line);border-radius:8px;padding:10px;font:inherit;background:#fff}.cal-form input[readonly]{background:#f8f6fc;color:#8c849c}.cal-form-wide{grid-column:1/-1}.cal-form .muted{font-size:12px;margin-top:12px}.cal-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#calMessage{color:#a24d64;font-size:13px;margin-bottom:12px}.work-calendar button:focus-visible{outline:2px solid var(--cal-purple);outline-offset:3px}.work-calendar button:disabled{opacity:.5;cursor:wait}
@media(max-width:1200px){.cal-layout{grid-template-columns:minmax(0,1fr)}.cal-agenda .cal-task{max-width:none}.cal-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.work-calendar .card{padding:14px;border-radius:12px}.cal-year{display:none}.cal-season h3{font-size:16px}.cal-steps{gap:8px}.cal-step{padding:12px}.cal-step b{font-size:12px}.cal-alert{align-items:flex-start;flex-direction:column;padding:14px}.cal-task-list,.cal-form-grid{grid-template-columns:minmax(0,1fr)}.cal-month-control input{max-width:150px}.cal-day,.cal-empty{min-height:78px}.cal-day{padding:8px 3px}.cal-day-number{font-size:12px}.cal-day-number small{font-size:8px}.cal-event{font-size:9px;padding:3px 2px}.cal-week span{font-size:10px}.cal-legend{gap:8px}.cal-form-wide{grid-column:auto}}

.cal-workspace{display:flex;justify-content:space-between;align-items:center;gap:16px}.cal-workspace label{display:inline-block;font-size:13px;color:#726180;margin-right:10px}.cal-workspace select{padding:10px 14px;border:1px solid #ded4f5;border-radius:9px;font:inherit;background:#faf7ff;color:#6546a1}.cal-local-label{display:inline-block;margin-left:12px;padding:6px 9px;border-radius:6px;background:#ecf8f1;color:#308161;font-size:12px}.cal-workspace p{font-size:12px;line-height:1.8;margin:12px 0 0}.cal-backup-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}@media(max-width:760px){.cal-workspace{align-items:flex-start;flex-direction:column}.cal-local-label{margin:10px 0 0}.cal-workspace select{max-width:100%}.cal-backup-actions{flex-wrap:wrap}}
