.notification-wrap{position:relative}
.notification-btn{position:relative;width:44px;height:44px;border:1px solid #d9dfdc;border-radius:14px;background:#fff;color:#17201d;font-size:24px;line-height:1;cursor:pointer;transition:.18s ease}
.notification-btn:hover,.notification-btn[aria-expanded="true"]{border-color:#b9874f;background:#fbf7f1;color:#8a5e2b}
.notification-btn .nav-badge{position:absolute;right:-7px;top:-7px;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;border:2px solid #f6f7f6;border-radius:999px;background:#b44f40;color:#fff;font-size:10px;font-weight:800}
.notification-panel{position:absolute;right:0;top:54px;z-index:70;width:min(420px,calc(100vw - 28px));max-height:min(650px,calc(100vh - 95px));overflow:hidden;border:1px solid #dfe4e1;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(19,31,27,.22)}
.notification-head{display:flex;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid #edf0ee}
.notification-head>div{display:grid;gap:4px}
.notification-head b{font-family:Georgia,serif;font-size:18px}
.notification-head small{max-width:245px;color:#718079;line-height:1.35}
.notification-head button{align-self:start;white-space:nowrap;color:#8a5e2b}
.notification-list{max-height:430px;overflow:auto}
.notification-item{width:100%;display:grid;grid-template-columns:10px 1fr;gap:12px;padding:14px 18px;border:0;border-bottom:1px solid #edf0ee;background:#fff;text-align:left;cursor:pointer}
.notification-item:hover{background:#faf8f4}
.notification-item.unread{background:#fffaf2}
.notification-item>span:last-child{display:grid;gap:3px}
.notification-item b{font-size:14px;color:#17201d}
.notification-item small{color:#4f5e57;font-size:12px}
.notification-item em{color:#89948f;font-size:11px;font-style:normal}
.notification-dot{width:9px;height:9px;margin-top:4px;border-radius:999px;background:#9da8a3}
.notification-dot.overdue{background:#b44f40;box-shadow:0 0 0 4px #f8e8e5}
.notification-dot.today{background:#b9874f;box-shadow:0 0 0 4px #f6eddf}
.notification-dot.soon{background:#447765;box-shadow:0 0 0 4px #e3eee9}
.notification-item.read{opacity:.68}
.notification-foot{padding:14px 18px;background:#f8faf8}
.calendar-dialog{width:min(570px,calc(100% - 24px));padding:0;border:0;border-radius:24px}
.calendar-dialog::backdrop{background:rgba(16,27,23,.62)}
.calendar-dialog-shell{padding:24px}
.calendar-plan-summary{display:grid;gap:6px;padding:18px;border:1px solid #e1e6e3;border-radius:18px;background:#f8faf8}
.calendar-plan-summary .task-type{justify-self:start}
.calendar-plan-summary h3{margin:2px 0 0;font-family:Georgia,serif;font-size:22px}
.calendar-plan-summary time{font-weight:800;color:#8a5e2b}
.calendar-plan-summary small{color:#66746e}
.calendar-privacy-note{margin:16px 0;padding:12px 14px;border-radius:14px;background:#fff7e9;color:#735229;font-size:13px;line-height:1.45}
.calendar-options{display:grid;gap:10px}
.calendar-option{display:grid;gap:4px;padding:15px 17px;border:1px solid #dfe4e1;border-radius:15px;color:#17201d;text-decoration:none;transition:.18s ease}
.calendar-option:hover{border-color:#b9874f;transform:translateY(-1px);box-shadow:0 8px 20px rgba(35,49,43,.08)}
.calendar-option b{font-size:14px}
.calendar-option small{color:#718079}
.calendar-option.google{border-left:4px solid #4285f4}
.calendar-option.outlook{border-left:4px solid #1473e6}
.calendar-option.ics{border-left:4px solid #b9874f}
.task-actions .task-calendar{color:#315f50}
@media(max-width:760px){
  .top-actions{gap:8px}
  .notification-btn{width:40px;height:40px;border-radius:12px}
  .notification-panel{position:fixed;left:12px;right:12px;top:72px;width:auto;max-height:calc(100vh - 88px)}
  .notification-list{max-height:calc(100vh - 245px)}
  .notification-head{align-items:flex-start}
  .notification-head small{max-width:190px}
  .task-hero{gap:10px}
  .task-hero>.button{width:100%}
  .calendar-dialog-shell{padding:18px}
}
