/* NZR portal experience layer — shared interaction quality across staff,
   owner and tenant products. Page-specific layout remains owned locally. */
@import url("/assets/css/nzr-tokens.css");

:root{
  --nzr-surface:color-mix(in srgb,var(--nzr-surface-raised) 88%,transparent);
  --nzr-shadow:var(--nzr-core-shadow-light);
  --nzr-shadow-raised:var(--nzr-core-shadow-medium);
  --nzr-ease:var(--nzr-core-motion-ease-standard)
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}
button,.btn,[role="button"],input,select,textarea{font:inherit}
button,.btn,[role="button"]{min-height:40px;touch-action:manipulation}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea{min-height:44px}
textarea{resize:vertical;line-height:1.5}
:where(button,a,input,select,textarea,[role="button"]):focus-visible{outline:3px solid color-mix(in srgb,var(--nzr-focus) 62%,transparent);outline-offset:2px}
:where(button,.btn,[role="button"]){transition:transform .18s var(--nzr-ease),box-shadow .18s var(--nzr-ease),background-color .18s ease,border-color .18s ease}
:where(button,.btn,[role="button"]):active{transform:scale(.975)}
:where(button,.btn,[role="button"]):disabled{cursor:not-allowed;opacity:.5;transform:none}
.panel,.card,.auth-card{box-shadow:var(--nzr-shadow)}
.nzm-back{backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
.nzm{box-shadow:var(--nzr-shadow-raised)!important}
.nzm label{display:block;font-size:11px;font-weight:750;letter-spacing:.025em;color:var(--mute,#5A655E);margin:12px 0 5px}
.nzm input,.nzm select,.nzm textarea{width:100%;border:1px solid var(--line,#E5EBE3);border-radius:11px;background:#fff;padding:10px 12px;color:var(--ink,#111)}
.nzm textarea{min-height:104px}
@media(max-width:640px){
  button,.btn,[role="button"]{min-height:44px}
  .panel,.card{border-radius:16px!important}
  .nzm{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px);overflow:auto}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media(forced-colors:active){button,.btn,input,select,textarea{border:1px solid ButtonText}.panel,.card{border:1px solid CanvasText}}
