/* Central de lembretes · visual macOS/iOS com contraste em temas claro e escuro. */
.nt-workspace{--nt-edge:var(--border);--nt-panel:var(--surface);--nt-soft:var(--soft);--nt-ink:var(--text);--nt-muted:var(--muted)}
.nt-heading{margin-top:9px}
.nt-heading h1{font-size:clamp(2.3rem,4vw,3.7rem);letter-spacing:-.065em;line-height:1.1}
.nt-period{color:var(--muted)}
.nt-heading p{font-size:.9rem;max-width:630px}
.nt-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:18px 0}
.nt-summary .card{padding:17px 20px;display:grid;gap:6px}
.nt-summary .card>span{font-size:.74rem;color:var(--muted);font-weight:700}
.nt-summary .card>strong{font-size:clamp(1.15rem,2vw,1.9rem);color:var(--text);letter-spacing:-.05em;overflow-wrap:anywhere}
.nt-summary .card>small{font-size:.7rem;color:var(--muted)}
.nt-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.85fr);gap:16px;align-items:start}
.nt-main,.nt-side{min-width:0;display:grid;gap:16px}
.nt-panel{padding:22px;border-radius:18px}
.nt-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.nt-panel-head .eyebrow{font-size:.63rem}
.nt-panel h2{font-size:1.13rem;letter-spacing:-.04em;margin:7px 0 0;color:var(--text)}
.nt-soft-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--soft);border:1px solid var(--border);border-radius:11px;font-size:1.25rem;color:var(--text)}
.nt-reminder-form{display:grid;grid-template-columns:1.4fr 1fr auto;gap:11px;align-items:end}
.nt-reminder-form>label,.nt-before{font-size:.75rem;font-weight:750;color:var(--text);display:grid;gap:8px;min-width:0}
.nt-reminder-form input,.nt-before select{color:var(--text);background:var(--soft);width:100%;border:1px solid var(--border);border-radius:11px;min-height:43px;padding:10px 11px;font:inherit;min-width:0}
.nt-reminder-form button{min-height:43px;border-radius:10px;white-space:nowrap}
.nt-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding:15px 0}
.nt-row:first-of-type{border-top:0}
.nt-row-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:var(--text);background:var(--soft)}
.nt-row>div{display:grid;gap:3px;min-width:0;flex:1}
.nt-row strong{color:var(--text);font-size:.85rem;overflow-wrap:anywhere}
.nt-row small{color:var(--muted);font-size:.72rem}
.nt-quiet-action{border:1px solid var(--border);background:transparent;color:var(--text);font-size:.72rem;font-weight:750;padding:9px 11px;border-radius:10px;min-height:36px}
.nt-quiet-action:hover{background:var(--soft)}
.nt-alert{display:flex;gap:12px;width:100%;min-height:70px;border:0;border-top:1px solid var(--border);background:transparent;padding:15px 6px;text-align:left;color:var(--text);align-items:start}
.nt-alert:hover{background:var(--soft);border-radius:10px}
.nt-alert>span:last-child{display:grid;gap:4px;min-width:0}
.nt-alert strong{font-size:.83rem;font-weight:750;overflow-wrap:anywhere}
.nt-alert small,.nt-alert-detail{font-size:.72rem;color:var(--muted);line-height:1.4}
.nt-alert-dot{display:block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:transparent;border:1px solid var(--muted);margin-top:6px}
.nt-alert.nt-unread .nt-alert-dot{background:#2583ee;border-color:#2583ee}
.nt-alert.nt-unread strong{font-weight:850}
.nt-empty{padding:23px 12px;text-align:center;color:var(--muted);font-size:.82rem;background:var(--soft);border-radius:12px}
.nt-pref-form{display:grid;gap:15px}
.nt-option{display:flex;align-items:flex-start;gap:9px;color:var(--text);min-height:43px;cursor:pointer}
.nt-option input{width:17px;height:17px;accent-color:#2382e7;margin-top:2px;flex:none}
.nt-option span{display:grid;gap:3px}
.nt-option strong{font-size:.82rem}
.nt-option small{font-size:.7rem;color:var(--muted);line-height:1.4}
.nt-pref-form .btn{min-height:42px;border-radius:11px}
.nt-device{display:grid;gap:11px}
.nt-device .eyebrow{font-size:.63rem}
.nt-device h2{margin:0;font-size:1.15rem}
.nt-device p{font-size:.77rem;color:var(--muted);line-height:1.6;margin:0}
.nt-device button.btn{min-height:43px;border-radius:11px}
.nt-device-tip{padding:11px 12px;border-radius:10px;background:var(--soft)}
.nt-footnote{margin-top:17px}
.nt-bell{width:40px;height:40px;display:grid;place-items:center;position:relative;background:var(--soft);color:var(--text);border:1px solid var(--border);border-radius:11px;flex:none}
.nt-bell .menu-icon-svg{width:21px;height:21px}
.nt-badge{position:absolute;top:-6px;right:-7px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:800;display:grid;place-items:center;background:#146fca;color:white;border-radius:99px;border:2px solid var(--surface)}
.nt-badge[hidden]{display:none}
.nt-bell:focus-visible,.nt-workspace button:focus-visible,.nt-workspace input:focus-visible,.nt-workspace select:focus-visible{outline:2px solid #2583ee;outline-offset:2px}
.nt-workspace .btn.outline{color:var(--text);background:var(--surface);border-color:var(--border)}
.nt-workspace .btn.outline:hover{background:var(--soft)}
:root[data-theme="light"] .nt-option small,:root[data-theme="light"] .nt-device p{color:#525660}
:root[data-theme="dark"] .nt-option small,:root[data-theme="dark"] .nt-device p{color:#bcbcc7}
@media(max-width:1100px){.nt-grid{grid-template-columns:1fr}.nt-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.nt-reminder-form{grid-template-columns:1fr 1fr}.nt-reminder-form button{grid-column:1/-1}}
@media(max-width:640px){.nt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.nt-summary .card:last-child{grid-column:1/-1}.nt-side{grid-template-columns:1fr}.nt-reminder-form{grid-template-columns:1fr}.nt-reminder-form button{grid-column:auto}.nt-panel{padding:17px}.nt-bell{width:38px;height:38px}.nt-heading h1{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){.nt-alert,.nt-bell{transition:none!important}}


/* Convite de notificações após login: inspirado nas folhas nativas do iOS,
   sem imitar o diálogo de permissão do sistema operacional. */
.nt-optin-dialog{
  box-sizing:border-box;
  width:min(430px,calc(100vw - 30px));
  max-width:100%;
  max-height:min(88dvh,750px);
  margin:auto;
  padding:32px 30px 26px;
  border:1px solid var(--border);
  border-radius:26px;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 28px 90px rgba(0,0,0,.34);
  text-align:center;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
.nt-optin-dialog::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nt-optin-icon{
  display:grid;
  place-items:center;
  width:66px;height:66px;
  margin:0 auto 21px;
  color:#fff;background:linear-gradient(145deg,#4ca5ff,#0065d6);
  border-radius:19px;
  box-shadow:0 8px 18px rgba(0,122,255,.19);
}
.nt-optin-icon svg{width:36px;height:36px}
.nt-optin-brand{display:block;font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--muted)}
.nt-optin-dialog h2{
  margin:10px 0 11px;
  font-family:inherit;
  font-weight:750;
  letter-spacing:-.045em;
  font-size:clamp(1.45rem,4vw,1.8rem);
  line-height:1.15;
  color:var(--text);
}
.nt-optin-dialog #nt-optin-description{margin:0;color:var(--muted);font-size:.91rem;line-height:1.5}
.nt-optin-actions{display:grid;gap:9px;margin-top:24px}
.nt-optin-actions button{
  display:block;width:100%;min-height:47px;
  border:0;border-radius:13px;padding:11px 18px;
  font-family:inherit;font-size:.96rem;font-weight:650;
  white-space:normal;line-height:1.3;
}
.nt-optin-actions .nt-optin-allow{background:#007aff;color:#fff}
.nt-optin-actions .nt-optin-allow:hover{background:#006bdf}
.nt-optin-actions .nt-optin-later{background:var(--soft);color:var(--text)}
.nt-optin-actions .nt-optin-later:hover{filter:brightness(.94)}
.nt-optin-actions button:focus-visible{outline:3px solid #66adff;outline-offset:3px}
.nt-optin-actions button:disabled{opacity:.6;cursor:wait}
.nt-optin-footnote{margin:17px auto 0;color:var(--muted);font-size:.74rem;line-height:1.45}
.nt-optin-status{min-height:0;margin:9px 0 0;color:var(--text);font-size:.78rem;line-height:1.4}
.nt-optin-status:empty{display:none}
.nt-optin-install{
  margin-top:19px;padding:14px;
  background:var(--soft);border:1px solid var(--border);border-radius:12px;
  color:var(--text);text-align:left;
  font-size:.83rem;line-height:1.6;
}
@media(max-width:600px){
  .nt-optin-dialog{
    width:calc(100vw - 24px);
    max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding:26px 21px calc(23px + env(safe-area-inset-bottom));
    border-radius:23px;
  }
  .nt-optin-icon{width:61px;height:61px;border-radius:18px;margin-bottom:17px}
  .nt-optin-dialog h2{font-size:1.52rem}
  .nt-optin-actions{margin-top:21px}
}
@media(prefers-reduced-transparency:reduce){
  .nt-optin-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
}
