.tll-notifications-center,.tll-notification-bell{--tll-notif-primary:#3E64DE;--tll-notif-accent:#B6DFDA;--tll-notif-background:#F6F8FC;--tll-notif-surface:#fff;--tll-notif-text:#172033;--tll-notif-muted:#667085;--tll-notif-border:#DDE3EE;--tll-notif-radius:16px;box-sizing:border-box;color:var(--tll-notif-text)}.tll-notifications-center *,.tll-notification-bell *{box-sizing:border-box}.tll-notifications-center{width:100%;padding:18px;border:1px solid var(--tll-notif-border);border-radius:calc(var(--tll-notif-radius) + 4px);background:var(--tll-notif-background)}.tll-notifications-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.tll-notifications-header h3{margin:2px 0 0;color:var(--tll-notif-text);font-size:22px;line-height:1.2}.tll-notifications-eyebrow{color:var(--tll-notif-primary);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tll-notification-list,.tll-notification-popover-list{display:grid;gap:9px}.tll-notification-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:13px;border:1px solid var(--tll-notif-border);border-radius:var(--tll-notif-radius);background:var(--tll-notif-surface);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.tll-notification-card.is-unread{border-color:color-mix(in srgb,var(--tll-notif-primary) 48%,var(--tll-notif-border));box-shadow:0 6px 18px rgba(15,23,42,.05)}.tll-notification-card.is-read{opacity:.72}.tll-notification-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--tll-notif-primary) 10%,var(--tll-notif-surface));color:var(--tll-notif-primary)}.tll-notification-icon .dashicons{width:20px;height:20px;font-size:20px}.tll-notification-copy{min-width:0}.tll-notification-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px;color:var(--tll-notif-muted);font-size:11px}.tll-notification-meta span{color:var(--tll-notif-primary);font-weight:700}.tll-notification-title{display:block;overflow:hidden;color:var(--tll-notif-text);font-size:14px;line-height:1.35;text-overflow:ellipsis}.tll-notification-price{margin-top:3px;color:var(--tll-notif-muted);font-size:13px;font-weight:600}.tll-notification-action,.tll-notification-text-button{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit}.tll-notification-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border:1px solid var(--tll-notif-primary);border-radius:9px;color:var(--tll-notif-primary);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.tll-notification-action:hover{background:var(--tll-notif-primary);color:#fff}.tll-notification-text-button{padding:3px;color:var(--tll-notif-primary);font-size:12px;font-weight:700}.tll-notification-empty{padding:22px;text-align:center;color:var(--tll-notif-muted);border:1px dashed var(--tll-notif-border);border-radius:var(--tll-notif-radius);background:var(--tll-notif-surface)}.tll-notification-bell{position:relative;display:inline-block}.tll-notification-bell-button{appearance:none;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:7px 10px;border:1px solid var(--tll-notif-border);border-radius:12px;background:var(--tll-notif-surface);color:var(--tll-notif-text);font:inherit;font-weight:700;cursor:pointer}.tll-notification-bell-button .dashicons{color:var(--tll-notif-primary)}.tll-notification-count{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--tll-notif-primary);color:#fff;font-size:10px;line-height:1}.tll-notification-count.is-zero{display:none}.tll-notification-popover{position:absolute;z-index:99999;top:calc(100% + 8px);right:0;width:min(420px,calc(100vw - 30px));max-height:min(620px,75vh);overflow:hidden;border:1px solid var(--tll-notif-border);border-radius:var(--tll-notif-radius);background:var(--tll-notif-surface);box-shadow:0 18px 45px rgba(15,23,42,.16)}.tll-notification-popover-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--tll-notif-border)}.tll-notification-popover-list{max-height:480px;overflow:auto;padding:10px}.tll-notification-popover .tll-notification-card{grid-template-columns:34px minmax(0,1fr);padding:10px}.tll-notification-popover .tll-notification-icon{width:34px;height:34px;border-radius:10px}.tll-notification-popover .tll-notification-action{grid-column:2;justify-self:start;min-height:30px;padding:4px 8px}.tll-notification-all-link{display:block;padding:11px 14px;border-top:1px solid var(--tll-notif-border);color:var(--tll-notif-primary);font-size:12px;font-weight:700;text-align:center;text-decoration:none}.tll-notifications-login{padding:12px 14px;border:1px solid #dde3ee;border-radius:12px;background:#fff;color:#667085}@media(max-width:560px){.tll-notification-card{grid-template-columns:38px minmax(0,1fr)}.tll-notification-action{grid-column:2;justify-self:start}.tll-notification-bell-label{display:none}.tll-notifications-header{align-items:flex-start;flex-direction:column}.tll-notification-popover{right:-8px}}

/* Notification delivery UI — v1.31.0 */
.tll-notification-bell-button{position:relative;justify-content:center;width:42px;height:42px;min-height:42px;padding:0;gap:0}.tll-notification-bell-button .dashicons{width:20px;height:20px;font-size:20px}.tll-notification-bell-button .tll-notification-count{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--tll-notif-surface,#fff);font-size:9px}.tll-notifications-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.tll-notification-popover-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid var(--tll-notif-border)}.tll-notification-popover-footer .tll-notification-all-link{flex:1;margin:0;padding:5px 8px;border-top:0;text-align:right}.tll-push-toggle{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid var(--tll-notif-border,#dcdcde);border-radius:10px;background:var(--tll-notif-surface,#fff);color:var(--tll-notif-text,#1d2327);font:inherit;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,opacity .15s ease}.tll-push-toggle:hover:not(:disabled){border-color:var(--tll-notif-primary,#3E64DE);color:var(--tll-notif-primary,#3E64DE)}.tll-push-toggle .dashicons{width:16px;height:16px;font-size:16px;color:var(--tll-notif-primary,#3E64DE)}.tll-push-toggle[data-push-state="subscribed"]{border-color:color-mix(in srgb,var(--tll-notif-primary,#3E64DE) 36%,var(--tll-notif-border,#dcdcde));background:color-mix(in srgb,var(--tll-notif-primary,#3E64DE) 7%,var(--tll-notif-surface,#fff));color:var(--tll-notif-primary,#3E64DE)}.tll-push-toggle:disabled{cursor:default;opacity:.62}.tll-push-toggle.is-compact{min-height:32px;padding:5px 9px;font-size:11px}.tll-notification-push-shortcode{display:inline-block}.wp-admin .tll-push-toggle{--tll-notif-primary:#2271b1;--tll-notif-border:#c3c4c7;--tll-notif-surface:#fff;--tll-notif-text:#1d2327}@media(max-width:560px){.tll-notifications-header-actions{justify-content:flex-start}.tll-notification-popover-footer{align-items:stretch;flex-direction:column}.tll-notification-popover-footer .tll-notification-all-link{text-align:center}.tll-push-toggle{max-width:100%}}

/* Smart notification popover + e-mail template editor — v1.32.0 */
.tll-notification-popover[data-popover-side="right"]{transform-origin:top left}.tll-notification-popover[data-popover-side="left"]{transform-origin:top right}
.tll-email-template-editor{--tll-notif-primary:#3E64DE;--tll-notif-accent:#B6DFDA;--tll-notif-background:#F6F8FC;--tll-notif-surface:#fff;--tll-notif-text:#172033;--tll-notif-muted:#667085;--tll-notif-border:#DDE3EE;--tll-notif-radius:16px;box-sizing:border-box;width:100%;max-width:1100px;color:var(--tll-notif-text)}.tll-email-template-editor *{box-sizing:border-box}.tll-email-template-frontend{padding:18px;border:1px solid var(--tll-notif-border);border-radius:calc(var(--tll-notif-radius) + 4px);background:var(--tll-notif-background)}.tll-email-template-admin{margin-top:18px}.tll-email-template-notice{margin-bottom:14px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--tll-notif-primary) 32%,var(--tll-notif-border));border-radius:10px;background:color-mix(in srgb,var(--tll-notif-primary) 7%,var(--tll-notif-surface));color:var(--tll-notif-primary);font-weight:700}.tll-email-template-heading{margin-bottom:14px}.tll-email-template-heading h2{margin:3px 0 5px;font-size:22px;line-height:1.2;color:var(--tll-notif-text)}.tll-email-template-heading p{margin:0;color:var(--tll-notif-muted)}.tll-email-template-form{display:grid;gap:15px;padding:18px;border:1px solid var(--tll-notif-border);border-radius:var(--tll-notif-radius);background:var(--tll-notif-surface)}.tll-email-subject-field{display:grid;gap:6px;font-weight:700}.tll-email-subject-field input{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--tll-notif-border);border-radius:9px;background:#fff;color:var(--tll-notif-text);font:inherit}.tll-email-variables{display:grid;gap:8px}.tll-email-variable-list{display:flex;flex-wrap:wrap;gap:7px}.tll-email-variable{appearance:none;display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 9px;border:1px solid var(--tll-notif-border);border-radius:9px;background:var(--tll-notif-background);color:var(--tll-notif-text);cursor:pointer;font:inherit;font-size:11px}.tll-email-variable:hover,.tll-email-variable:focus{border-color:var(--tll-notif-primary);outline:0}.tll-email-variable code{color:var(--tll-notif-primary);font-size:11px;font-weight:700}.tll-email-variable span{color:var(--tll-notif-muted)}.tll-email-editor-field{display:grid;gap:6px;min-width:0}.tll-email-field-label{font-weight:700}.tll-email-template-editor .wp-editor-wrap{min-width:0}.tll-email-template-editor .wp-editor-container{border-color:var(--tll-notif-border)}.tll-email-template-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.tll-email-template-frontend .button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 13px;border:1px solid var(--tll-notif-primary);border-radius:9px;background:var(--tll-notif-surface);color:var(--tll-notif-primary);font:inherit;font-weight:700;cursor:pointer}.tll-email-template-frontend .button-primary{background:var(--tll-notif-primary);color:#fff}.tll-email-preview-panel{margin-top:16px;overflow:hidden;border:1px solid var(--tll-notif-border);border-radius:var(--tll-notif-radius);background:var(--tll-notif-surface)}.tll-email-preview-toolbar{display:grid;gap:4px;padding:12px 14px;border-bottom:1px solid var(--tll-notif-border);color:var(--tll-notif-muted);font-size:12px}.tll-email-preview-toolbar strong{overflow:hidden;color:var(--tll-notif-text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.tll-email-preview-frame{display:block;width:100%;height:520px;border:0;background:#fff}.wp-admin .tll-email-template-editor{--tll-notif-primary:#2271b1;--tll-notif-accent:#72aee6;--tll-notif-background:#f0f0f1;--tll-notif-surface:#fff;--tll-notif-text:#1d2327;--tll-notif-muted:#646970;--tll-notif-border:#dcdcde;--tll-notif-radius:12px}
@media(max-width:700px){.tll-email-template-form{padding:13px}.tll-email-variable{width:100%;justify-content:space-between}.tll-email-preview-frame{height:420px}}

/* Design System radius/padding tokens (v2.3.0) */
.tll-notifications-center,.tll-notification-bell{--tll-notif-pad:16px}
.tll-notifications-center{padding:var(--tll-notif-pad)}
.tll-notification-card,.tll-notification-item,.tll-notification-popover,.tll-email-template-editor{border-radius:var(--tll-notif-radius)}
.tll-notification-card,.tll-notification-item{padding:var(--tll-notif-pad)}
.tll-notifications-center button,.tll-notifications-center input,.tll-notifications-center select,.tll-notifications-center textarea{border-radius:max(4px,calc(var(--tll-notif-radius) * .65))}

.tll-notification-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tll-notification-action.is-subtle{border-color:var(--tll-notif-border,#dcdcde)!important;background:transparent!important;color:var(--tll-notif-muted,#667085)!important}.tll-notification-action.is-subtle:hover{border-color:var(--tll-notif-primary,#3E64DE)!important;color:var(--tll-notif-primary,#3E64DE)!important}

/* Notification popover action containment — v2.3.3 */
.tll-notification-actions{
  min-width:0;
  max-width:100%;
}
.tll-notification-popover .tll-notification-card{
  grid-template-columns:34px minmax(0,1fr);
  align-items:start;
}
.tll-notification-popover .tll-notification-copy{
  grid-column:2;
  min-width:0;
}
.tll-notification-popover .tll-notification-actions{
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  justify-self:stretch;
  gap:6px;
  width:100%;
  min-width:0;
  max-width:100%;
  margin-top:2px;
}
.tll-notification-popover .tll-notification-actions .tll-notification-action{
  grid-column:auto;
  justify-self:auto;
  min-width:0;
  max-width:100%;
  min-height:30px;
  padding:4px 8px;
  line-height:1.2;
}
.tll-notification-popover .tll-notification-actions .tll-notification-action.is-subtle{
  flex:0 1 auto;
}
.tll-notification-popover .tll-notification-actions .tll-notification-open{
  flex:0 1 auto;
}
@media(max-width:560px){
  .tll-notification-card .tll-notification-actions{
    grid-column:2;
    justify-content:flex-start;
  }
}

/* 4.0.0-alpha.4 — fluid popover + per-user delivery preferences */
.tll-notification-popover{
  --tll-popover-shift-x:0px;
  background:var(--tll-notif-background);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(var(--tll-popover-shift-x)) translateY(-10px) scale(.975);
  transition:opacity .18s ease,transform .28s cubic-bezier(.22,1,.36,1),visibility 0s linear .28s
}
.tll-notification-popover.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(var(--tll-popover-shift-x)) translateY(0) scale(1);
  transition:opacity .2s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s
}
.tll-notification-popover.is-closing{pointer-events:none}
.tll-notification-popover-header,.tll-notification-popover-footer{background:var(--tll-notif-surface)}
.tll-notification-popover-list{background:var(--tll-notif-background)}
.tll-notification-popover .tll-notification-card{transition:transform .22s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}
.tll-notification-popover.is-open .tll-notification-card{animation:tllNotifCardIn .32s cubic-bezier(.22,1,.36,1) both}
.tll-notification-popover.is-open .tll-notification-card:nth-child(2){animation-delay:.025s}
.tll-notification-popover.is-open .tll-notification-card:nth-child(3){animation-delay:.05s}
.tll-notification-popover.is-open .tll-notification-card:nth-child(4){animation-delay:.075s}
.tll-notification-popover.is-open .tll-notification-card:nth-child(5){animation-delay:.1s}
@keyframes tllNotifCardIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.tll-notification-preferences{margin:0 0 14px;padding:14px;border:1px solid var(--tll-notif-border);border-radius:var(--tll-notif-radius);background:var(--tll-notif-surface)}
.tll-notification-preferences-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.tll-notification-preferences-head h4{margin:2px 0 0;color:var(--tll-notif-text);font-size:15px;line-height:1.25}.tll-notification-preferences-status{min-height:18px;color:var(--tll-notif-primary);font-size:11px;font-weight:700}.tll-notification-preferences-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.tll-notification-pref-push{display:grid;gap:7px}.tll-notification-pref-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:10px 11px;border:1px solid var(--tll-notif-border);border-radius:12px;background:var(--tll-notif-background);cursor:pointer}.tll-notification-pref-toggle>span{display:grid;gap:2px;min-width:0}.tll-notification-pref-toggle strong{color:var(--tll-notif-text);font-size:13px}.tll-notification-pref-toggle small{color:var(--tll-notif-muted);font-size:10px;line-height:1.3}.tll-notification-pref-toggle input{position:absolute;opacity:0;pointer-events:none}.tll-notification-pref-toggle i{position:relative;flex:0 0 38px;width:38px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--tll-notif-muted) 30%,var(--tll-notif-surface));transition:background .2s ease}.tll-notification-pref-toggle i:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--tll-notif-surface);box-shadow:0 1px 4px rgba(15,23,42,.2);transition:transform .22s cubic-bezier(.22,1,.36,1)}.tll-notification-pref-toggle input:checked+i{background:var(--tll-notif-primary)}.tll-notification-pref-toggle input:checked+i:after{transform:translateX(16px)}.tll-notification-pref-toggle:focus-within{border-color:var(--tll-notif-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--tll-notif-primary) 15%,transparent)}.tll-notification-pref-toggle:has(input:disabled){opacity:.65;cursor:wait}.tll-notification-pref-push .tll-push-toggle{width:100%}.tll-notification-preferences-link{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;color:var(--tll-notif-muted);font-size:11px;font-weight:700;text-decoration:none}.tll-notification-preferences-link:hover{color:var(--tll-notif-primary)}.tll-notification-preferences-link .dashicons{width:15px;height:15px;font-size:15px}.tll-notification-popover-footer .tll-notification-all-link{flex:0 0 auto}
@media(max-width:760px){.tll-notification-preferences-grid{grid-template-columns:1fr}.tll-notification-preferences-head{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.tll-notification-popover,.tll-notification-popover .tll-notification-card,.tll-notification-pref-toggle i,.tll-notification-pref-toggle i:after{transition:none!important;animation:none!important}}
