/* NoteSmart V100: safe polish, toast mobile fix, login eye alignment, responsive smoothness */
:root{--ns100-green:#2f6349;--ns100-text:#172033;--ns100-muted:#6b7280;--ns100-border:#dfe8e3;--ns100-shadow:0 16px 40px rgba(18,45,31,.10)}
html,body,#root{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;}
body{touch-action:manipulation;text-rendering:optimizeLegibility;}
button,a,[role="button"]{touch-action:manipulation;}
*{scroll-behavior:smooth;}
@media (prefers-reduced-motion:no-preference){
  .ns-card,article,button,.ns-pill-btn,.ns-input,input,select,textarea{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease!important;}
}
@media (max-width:768px){
  .animate-spin{animation-duration:.9s!important;}
  .ns-card,article{box-shadow:var(--ns100-shadow)!important;}
  button,.ns-pill-btn{min-height:44px;}
}

/* Semua toast/notifikasi harus selalu masuk layar HP dan tidak terpotong kiri. */
#ns-v31-toast-stack,#ns48-toast-stack,#ns-settings-route-toast,[data-sonner-toaster]{
  position:fixed!important;left:12px!important;right:12px!important;top:max(12px,env(safe-area-inset-top))!important;bottom:auto!important;width:auto!important;max-width:none!important;z-index:2147483600!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;pointer-events:none!important;transform:none!important;
}
#ns-v31-toast-stack .ns-v31-toast,#ns48-toast-stack .ns48-toast,#ns-settings-route-toast>div,[data-sonner-toast]{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 auto 8px!important;border-radius:18px!important;padding:12px 14px!important;box-shadow:0 14px 34px rgba(20,83,45,.18)!important;overflow:hidden!important;pointer-events:auto!important;
}
#ns-v31-toast-stack .ns-v31-toast{display:flex!important;align-items:center!important;gap:10px!important;background:#ecfdf5!important;border:1px solid #bbf7d0!important;color:#11803b!important;}
#ns-v31-toast-stack .ns-v31-toast b{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:28px!important;width:28px!important;height:28px!important;border-radius:999px!important;background:#12883f!important;color:#fff!important;font-size:16px!important;line-height:1!important;}
#ns-v31-toast-stack .ns-v31-toast span{display:block!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important;}
[data-sonner-toast]{background:#ecfdf5!important;border:1px solid #bbf7d0!important;color:#11803b!important;padding-left:52px!important;}
[data-sonner-toast] [data-close-button], [data-sonner-toast] button[aria-label*="Close"], [data-sonner-toast] button[aria-label*="Tutup"]{
  position:absolute!important;left:10px!important;top:50%!important;transform:translateY(-50%)!important;width:32px!important;height:32px!important;border-radius:999px!important;background:#fff!important;border:1px solid #bbf7d0!important;color:#16803d!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;
}
@media (min-width:640px){
  #ns-v31-toast-stack,#ns48-toast-stack,#ns-settings-route-toast,[data-sonner-toaster]{left:50%!important;right:auto!important;width:min(560px,calc(100vw - 32px))!important;transform:translateX(-50%)!important;}
}

/* Login: rapikan icon mata password agar berada di tengah kanan input. */
form input[type="password"], form input[name*="password" i]{padding-right:56px!important;}
form input[type="password"]~button, form input[name*="password" i]~button, form button:has(svg):has(+ input[type="password"]), form button[aria-label*="password" i], form button[aria-label*="sandi" i]{
  width:42px!important;height:42px!important;min-height:42px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;color:#6b7280!important;background:transparent!important;border:0!important;
}
form div:has(> input[type="password"]), form div:has(> input[name*="password" i]){position:relative!important;}
form div:has(> input[type="password"])>button, form div:has(> input[name*="password" i])>button{
  position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;z-index:2!important;
}

/* Dialog custom WA */
.ns100-modal-backdrop{position:fixed;inset:0;z-index:2147483500;background:rgba(15,23,42,.42);display:flex;align-items:flex-end;justify-content:center;padding:14px;}
.ns100-modal{width:min(560px,100%);background:#fff;border-radius:26px 26px 22px 22px;box-shadow:0 24px 80px rgba(15,23,42,.24);padding:18px;color:var(--ns100-text);}
.ns100-modal h3{margin:0 0 6px;font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--ns100-text)}
.ns100-modal p{margin:0 0 14px;font-size:13px;line-height:1.45;color:var(--ns100-muted)}
.ns100-modal textarea{width:100%;min-height:142px;border:1px solid var(--ns100-border);border-radius:18px;padding:13px 14px;font:600 14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;resize:vertical;outline:none;box-sizing:border-box;}
.ns100-modal textarea:focus{border-color:var(--ns100-green);box-shadow:0 0 0 4px rgba(47,99,73,.10)}
.ns100-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}.ns100-actions button{border:0;border-radius:16px;padding:12px 16px;font-weight:900;min-height:46px}.ns100-cancel{background:#f1f5f9;color:#334155}.ns100-send{background:var(--ns100-green);color:#fff;min-width:150px}
@media (max-width:560px){.ns100-modal-backdrop{padding:0;align-items:flex-end}.ns100-modal{border-radius:28px 28px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.ns100-actions{display:grid;grid-template-columns:1fr 1.25fr}.ns100-actions button{width:100%}}
