:root{font-family:system-ui,sans-serif;color:#1f2937;background:#f3f4f6}body{margin:0}main{max-width:1200px;margin:0 auto;padding:16px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.calendar-surface,.event-panel{padding:16px;border:1px solid #d1d5db;border-radius:8px;background:#fff}.calendar-loading,.calendar-error{padding:32px;text-align:center}.calendar-loading-target{visibility:hidden;height:0;overflow:hidden}.calendar-hidden{display:none}.calendar-message{padding:10px 12px;border-radius:6px;color:#991b1b;background:#fee2e2}.selected-event-title{font-weight:700}button,input{font:inherit}button{padding:7px 12px;border:1px solid #9ca3af;border-radius:6px;cursor:pointer;background:#fff}button:disabled{cursor:not-allowed;opacity:.6}.danger-button{margin-top:16px;color:#fff;border-color:#b91c1c;background:#b91c1c}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#1118278c}.event-modal{width:min(400px,100%);max-height:100%;overflow-y:auto;padding:20px;border-radius:8px;background:#fff;box-shadow:0 16px 40px #00000040}.event-modal h2{margin-top:0}.event-modal label,.event-modal input{display:block;width:100%;box-sizing:border-box}.event-modal input{margin-top:6px;padding:8px;border:1px solid #9ca3af;border-radius:6px}.event-modal input[type=checkbox],.task-form input[type=checkbox],.mention-picker input[type=checkbox]{display:inline-block;flex:0 0 auto;width:auto;margin:0;padding:0}.modal-actions{position:sticky;bottom:-20px;z-index:1;display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding:12px 0;background:#fff;box-shadow:0 -8px 12px -8px #00000026}.event-panel h2{margin-top:0;font-size:1rem}@media (max-width: 760px){.calendar-layout{grid-template-columns:1fr}.fc .fc-toolbar{align-items:flex-start;gap:8px}}.selected-event-period,.selected-event-mention{margin:4px 0;font-size:.9rem}.hint{margin:8px 0 16px;font-size:.8rem;color:#6b7280}.modal-inline,.task-inline{display:flex;align-items:center;gap:6px;width:100%;margin-top:12px}.mention-picker{margin-top:16px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.mention-summary{margin:0 0 8px;font-size:.9rem;font-weight:700}.mention-limit{margin-left:6px;font-weight:400;color:#b45309}.mention-selected{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 8px;padding:0}.mention-selected button{display:flex;align-items:center;gap:4px;max-width:100%;padding:2px 10px;border:1px solid #c7d2fe;border-radius:999px;background:#eef2ff;font-size:.85rem;cursor:pointer}.mention-chip-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mention-search{width:100%;margin-bottom:8px}.mention-options{list-style:none;margin:0;padding:0;max-height:180px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.mention-options li{border-bottom:1px solid #f3f4f6}.mention-options li:last-child{border-bottom:none}.mention-options label{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;cursor:pointer}.mention-name{flex:1 1 auto;min-width:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-delete{margin-right:auto}.fc-task .fc-list-item-title,.fc-task .fc-event-title{font-weight:500}.fc-task-done .fc-event-title,.fc-task-done .fc-list-item-title{color:#9ca3af;text-decoration:line-through}.selected-kind{margin:0 0 4px;font-size:.8rem;font-weight:700;color:#4f46e5}.event-panel button{margin-top:8px;margin-right:8px;padding:6px 14px}.kind-switch{margin:0 0 12px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px}.kind-switch legend{padding:0 4px;font-size:.85rem;color:#6b7280}.kind-switch .modal-inline{margin-top:4px}.task-status{margin:12px 0 0;font-size:.9rem}.event-modal input[type=radio]{display:inline-block;flex:0 0 auto;width:auto;margin:0}.mention-tabs{display:flex;gap:6px;margin-bottom:8px}.reminder-section{margin:1rem 0;border:1px solid #d7dce5;border-radius:.5rem;padding:.75rem}.reminder-editor,.reminder-row{display:grid;gap:.6rem}.reminder-row{margin:.75rem 0;padding:.75rem;border-radius:.4rem;background:#f5f7fa}.reminder-inline,.reminder-weekdays{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.reminder-weekdays label{display:inline-flex;align-items:center;gap:.2rem}.reminder-remove{justify-self:end}.mention-tabs button{padding:4px 12px;border:1px solid #d1d5db;border-radius:999px;background:#fff;font-size:.85rem;cursor:pointer}.mention-tabs button[aria-current=true]{border-color:#4f46e5;background:#eef2ff;font-weight:700}.mention-chip-role{border-color:#fbcfe8!important;background:#fdf2f8!important}.event-modal .color-picker{min-width:0;margin:12px 0;padding:0;border:0}.event-modal .color-picker legend{padding:0}.event-modal .color-picker-current{color:#6b7280;font-size:.85rem}.event-modal .color-picker-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;padding:4px}.event-modal .color-picker .color-swatch{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:20px;height:20px;margin:0;padding:0;border-radius:50%;color:#fff;font-size:12px;font-weight:700;line-height:1;cursor:pointer;box-sizing:border-box}.event-modal .color-picker .color-swatch.selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #111827}.event-modal .color-picker .color-swatch input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.event-modal .color-picker .color-swatch:has(input:focus-visible){outline:2px solid #2563eb;outline-offset:5px}.event-modal .color-picker:disabled .color-swatch{cursor:not-allowed;opacity:.6}
