.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.calendar-navigation{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-navigation h2{font-size:18px;margin:0 8px;min-width:150px}.calendar-arrow{width:36px;min-height:36px;padding:4px;font-size:24px;line-height:1}.calendar-navigation>.button:not(.calendar-arrow){min-height:36px;padding:8px 12px;font-size:12px}.calendar-view-switch{display:flex;padding:3px;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface);gap:3px}.calendar-view-switch a{padding:7px 11px;border-radius:6px;font-size:12px;color:var(--muted)}.calendar-view-switch [aria-current]{background:var(--accent-soft);color:var(--accent);font-weight:650}.calendar-scope{min-width:200px}.calendar-scope label{margin:0}.calendar-scope .ui-select-trigger{min-height:36px}.calendar-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:14px}.calendar-legend>span{display:flex;align-items:center;gap:6px}.calendar-legend>small{margin-left:auto;font-size:11px}.calendar-dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}.calendar-dot.project{background:var(--teal)}.calendar-dot.reminder{background:var(--accent)}
.calendar-board-scroll{overflow:auto;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface)}.calendar-month{min-width:840px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border-soft);font-size:11px;color:var(--muted)}.calendar-weekdays span{padding:12px 10px}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:170px;padding:8px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day.is-outside{background:var(--bg)}.calendar-day.is-outside .calendar-day-number{color:var(--muted)}.calendar-day>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.calendar-day-number{display:grid;place-items:center;width:26px;height:26px;font-size:12px;font-weight:600;border-radius:50%}.is-today .calendar-day-number{background:var(--accent);color:var(--button-text,#fff)}.calendar-day-add{display:grid;place-items:center;min-width:28px;min-height:28px;border-radius:6px;color:var(--muted);font-size:18px}.calendar-day-add:hover{background:var(--accent-soft);color:var(--accent)}.calendar-day-events{display:grid;gap:5px;max-height:190px;overflow:auto;align-content:start}.calendar-event{display:block;min-width:0;padding:7px 8px;border-radius:7px;background:var(--blue-bg);border:1px solid var(--border-soft);border-left:3px solid var(--blue);color:var(--text);text-decoration:none;position:relative;z-index:1}.calendar-event:hover{background:var(--surface-raised);border-color:var(--accent-edge);text-decoration:none}.calendar-event strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.calendar-event-meta{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted);line-height:1.35;margin-bottom:3px;flex-wrap:wrap}.calendar-event-meta .icon{width:11px;height:11px;flex-shrink:0}.calendar-project{border-left-color:var(--teal);background:var(--teal-bg)}.calendar-reminder{border-left-color:var(--accent);background:var(--accent-soft)}.calendar-state-overdue{border-left-color:var(--deadline-red);background:var(--red-bg)}.calendar-state-soon{border-left-color:var(--deadline-orange);background:var(--amber-bg)}.calendar-state-warning{border-left-color:var(--deadline-yellow);background:color-mix(in srgb,var(--deadline-yellow) 9%,var(--surface))}.calendar-event.is-done,.calendar-state-sent,.calendar-state-muted{opacity:.65}.calendar-event.is-done strong{text-decoration:line-through}.calendar-week-scroll{max-height:700px;scroll-behavior:auto}.calendar-week{min-width:980px}.calendar-week-row{display:grid;grid-template-columns:54px repeat(7,minmax(125px,1fr))}.calendar-week-head{position:sticky;top:0;z-index:4;background:var(--surface);border-bottom:1px solid var(--border-soft)}.calendar-week-head>div{padding:10px;display:flex;gap:7px;align-items:center;justify-content:center;border-right:1px solid var(--border-soft)}.calendar-week-head small{font-size:11px;color:var(--muted)}.calendar-week-head strong{font-size:14px}.calendar-week-head .is-today strong{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--button-text,#fff)}.calendar-hour{font-size:10px;color:var(--muted);padding:10px 3px;text-align:center;position:sticky;left:0;background:var(--surface);z-index:3;border-right:1px solid var(--border-soft)}.calendar-week-head>.calendar-hour{z-index:5;display:grid;place-items:center}.calendar-all-day-cell{padding:6px;display:grid;align-content:start;gap:4px;max-height:160px;overflow:auto;border-right:1px solid var(--border-soft)}.calendar-all-day{border-bottom:1px solid var(--border);background:var(--bg)}.calendar-no-deadline{color:var(--muted);font-size:10px}.calendar-time-cell{position:relative;min-height:54px;padding:4px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);display:grid;gap:3px;align-content:start}.calendar-time-cell.is-past{background:var(--bg)}.calendar-slot-add{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:20px}.calendar-slot-add>span{opacity:0}.calendar-slot-add:hover{background:var(--accent-soft);text-decoration:none}.calendar-slot-add:hover>span,.calendar-slot-add:focus-visible>span{opacity:1}
.calendar-dialog{width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid var(--accent-edge);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.calendar-dialog::backdrop{background:#00000075;backdrop-filter:blur(3px)}.calendar-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.calendar-dialog h2{margin:0;font-size:18px}.calendar-dialog-close{width:32px;min-height:32px;padding:3px;font-size:20px;box-shadow:none}.reminder-datetime{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reminder-datetime label{min-width:0}.reminder-datetime input{width:100%;max-width:100%;min-width:0}.reminder-timezone{font-size:11px;color:var(--muted);margin:0 0 16px}.calendar-dialog textarea,.reminder-page textarea{width:100%;resize:vertical;min-height:96px}.reminder-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}.calendar-cancel-reminder{color:var(--red);background:transparent;box-shadow:none;border:1px solid var(--red-bg);font-size:12px;margin-right:auto;padding:8px}.calendar-cancel-reminder[hidden]{display:none!important}.reminder-page{max-width:650px;margin:16px 0 0}.reminder-page h2{font-size:18px}.calendar-back{font-size:12px}.reminder-state{font-size:13px;color:var(--muted)}
.notification-settings-heading{position:sticky;top:0;z-index:5;background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--border-soft);margin-bottom:14px}.notification-settings-heading h2{font-size:18px;margin:0 0 5px}.notification-settings-heading p{font-size:12px;margin:0}.notification-settings-heading>div:last-child{display:flex;gap:8px;flex-shrink:0}.notification-settings-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.notification-settings-tools button{font-size:12px;min-height:36px;padding:7px 12px}.notification-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.notification-preference-group{padding:18px;margin:0}.notification-preference-group h2{font-size:15px;margin:0 0 12px}.notification-preference{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--border-soft);cursor:pointer;margin:0}.notification-preference input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--accent)}.notification-preference strong{font-size:12px;display:block}.notification-preference small{font-size:11px;line-height:1.5;color:var(--muted);display:block;font-weight:400;margin-top:3px}.notification-day-heading{font-size:12px;color:var(--muted);margin:14px 0 8px}.notification-feed{gap:9px}.notification-card.card{padding:15px;margin-bottom:0;border-radius:12px}.notification-card.is-unread{border-left:3px solid var(--accent)}.notification-card h2{font-size:14px;margin:6px 0}.notification-body-details summary{font-size:12px;line-height:1.6;overflow-wrap:anywhere;cursor:pointer;color:var(--muted)}.notification-body-details p{margin-top:8px}.notification-footer{margin-top:10px}.notification-actions button{min-height:34px;padding:6px 10px;font-size:11px}.notification-mark-unread{background:transparent;color:var(--muted);box-shadow:none;border:1px solid var(--border-soft)}.notification-reminder .notification-symbol{color:var(--accent);background:var(--accent-soft)}.notification-toast p{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:700px){.calendar-toolbar{gap:10px}.calendar-navigation{width:100%;gap:6px}.calendar-navigation h2{font-size:16px;min-width:0;flex:1;margin:0}.calendar-navigation>.button:not(.calendar-arrow){font-size:11px;padding:6px 9px}.calendar-scope{min-width:0;flex:1}.calendar-legend{gap:9px}.calendar-legend>small{margin-left:0}.calendar-dialog{padding:17px}.reminder-dialog-actions>button{font-size:12px}.notification-settings-grid{grid-template-columns:1fr}.notification-settings-heading{align-items:flex-start;flex-direction:column;gap:10px}.notification-settings-heading>div:last-child{width:100%;justify-content:flex-end}.notification-card.card{padding:12px}.notification-actions{flex-wrap:wrap;justify-content:flex-end}}

.calendar-week-head{height:47px}.calendar-all-day{position:sticky;top:47px;z-index:3}.calendar-all-day>.calendar-hour{z-index:4}.calendar-event:focus-visible,.calendar-day-add:focus-visible,.calendar-slot-add:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

.calendar-day{display:flex;flex-direction:column;height:clamp(120px,calc((100dvh - 250px)/6),170px);min-height:0}.calendar-day>header{flex-shrink:0}.calendar-day-events{flex:1;min-height:0;max-height:none}.calendar-week-head{z-index:6}.calendar-week-head>.calendar-hour{z-index:7}.calendar-all-day{z-index:5}.notification-settings-column{display:grid;gap:16px;align-content:start}
