/* NIRVANA AJAN 7 — responsive, mobile and accessibility final layer.
   Source module: do not merge by hand into generated canonical assets. */
:root{
  --a7-safe-top:env(safe-area-inset-top,0px);
  --a7-safe-right:env(safe-area-inset-right,0px);
  --a7-safe-bottom:env(safe-area-inset-bottom,0px);
  --a7-safe-left:env(safe-area-inset-left,0px);
  --a7-vvh:100dvh;
  --a7-focus-color:#0b63ce;
  --a7-focus-offset:3px;
  --a7-touch-min:44px;
}
html{scroll-padding-top:calc(76px + var(--a7-safe-top));text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-width:0;min-height:100%;overflow-wrap:anywhere}
body.agent7-overlay-open{overflow:hidden;overscroll-behavior:none}
body.agent7-keyboard-open{padding-bottom:max(0px,var(--a7-keyboard-inset,0px))}
main,.content,.container,.shell-main,.clean-core-page-scope,.ui-cleanroom-page-scope,
.agent2-shell-content,.agent2-page-header,.agent2-page-header__copy,.agent2-page-header__actions,
.card,.panel,.workspace-card,.nv-card,.nv-auth-card,.nv-public-main,.nv-auth-main,
.grid,.form-grid,.a4-form-grid,[class*="__grid"],[class*="__content"],[class*="__body"]{min-inline-size:0;max-inline-size:100%}
:is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,th,td,.btn,.badge,.chip,.muted,.help-text,.field-help,.alert,.toast){overflow-wrap:anywhere;word-break:normal}
pre,code,kbd,samp{overflow-wrap:normal;word-break:normal}
img,svg,video,canvas{max-inline-size:100%}
img,video{block-size:auto}
fieldset{min-inline-size:0}
.a4-visually-hidden{position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Keyboard focus is visible in every theme and survives forced-colors. */
:where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[contenteditable="true"]):focus-visible{
  outline:3px solid var(--a7-focus-color)!important;
  outline-offset:var(--a7-focus-offset)!important;
  box-shadow:0 0 0 1px Canvas,0 0 0 5px color-mix(in srgb,var(--a7-focus-color) 28%,transparent)!important;
  position:relative;
  z-index:2;
}
:where(.table-responsive,.table-wrap,.data-table-wrap,[data-responsive-table],[data-a7-scroll-region]):focus-visible{
  outline:3px solid var(--a7-focus-color)!important;
  outline-offset:2px!important;
}
:where(a[href],button,input,select,textarea,summary,[tabindex]):focus:not(:focus-visible){outline:none}
.skip-link:focus-visible{position:fixed!important;inset:calc(8px + var(--a7-safe-top)) auto auto calc(8px + var(--a7-safe-left))!important;z-index:10000!important;inline-size:auto!important;block-size:auto!important;clip:auto!important;clip-path:none!important;white-space:normal!important}

/* Native controls, error states and non-color status cues. */
:where(input,select,textarea){max-inline-size:100%}
:where(input,select,textarea)[aria-invalid="true"],:where(input,select,textarea):user-invalid{
  border-inline-start:4px solid #b42318!important;
  background-image:linear-gradient(135deg,transparent 72%,#b42318 72% 82%,transparent 82%);
  background-size:18px 18px;background-position:right 8px top 8px;background-repeat:no-repeat;
}
:where(.alert,.nv-alert,[role="alert"],[role="status"]){border-inline-start-width:4px}
:where(.badge,.chip,[data-status],.status-pill){white-space:normal;line-height:1.25}
:where(.badge,.chip,[data-status],.status-pill)::before{content:"";display:inline-block;inline-size:.45em;block-size:.45em;margin-inline-end:.42em;border:1px solid currentColor;border-radius:50%;vertical-align:.12em}
:where([data-status="error"],[data-status="danger"],.badge-danger,.status-danger)::before{border-radius:0;transform:rotate(45deg)}
:where([data-status="warning"],.badge-warning,.status-warning)::before{border-radius:1px;clip-path:polygon(50% 0,100% 100%,0 100%)}

/* Scroll regions keep native table semantics and expose controlled horizontal movement. */
:where(.table-responsive,.table-wrap,.data-table-wrap,[data-responsive-table],[data-a7-scroll-region]){
  max-inline-size:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;
}
:where(.table-responsive,.table-wrap,.data-table-wrap,[data-responsive-table],[data-a7-scroll-region])>table{margin-block-end:0}
:where(table){max-inline-size:100%;border-collapse:separate;border-spacing:0}
:where(th,td){vertical-align:top}
:where(th[aria-sort]) button,button[data-sort],button.sortable{min-block-size:var(--a7-touch-min)}
.a7-scroll-hint{display:block;margin:.35rem 0;color:var(--text-muted,#475467);font-size:.78rem}
.a7-scroll-hint::before{content:"↔ ";font-weight:800}

/* Overlay sizing, focus safety and mobile keyboard compatibility. */
:where(.modal-backdrop,.a4-modal-backdrop,.agent2-command-palette,[data-a4-dialog],[data-modal],[role="presentation"]){padding-inline:max(12px,var(--a7-safe-left)) max(12px,var(--a7-safe-right))}
:where(.modal,.a4-modal,[role="dialog"],[role="alertdialog"]){max-inline-size:min(720px,100%);max-block-size:min(calc(var(--a7-vvh) - var(--a7-safe-top) - var(--a7-safe-bottom) - 24px),900px);overflow:auto;overscroll-behavior:contain}
:where(.modal-head,.modal-header,.a4-modal__header,[class*="modal__head"]){position:sticky;inset-block-start:0;z-index:3;background:inherit}
:where(.modal-actions,.modal-footer,.a4-modal__footer,[class*="modal__footer"]){position:sticky;inset-block-end:0;z-index:3;padding-block-end:max(12px,var(--a7-safe-bottom));background:inherit}
:where([aria-hidden="true"].modal-backdrop,[aria-hidden="true"].a4-modal-backdrop,[aria-hidden="true"].agent2-command-palette){pointer-events:none!important}
:where([hidden]){display:none!important}

/* Shell and safe-area contract. */
:where(.agent2-app-header,.nv-public-header,.nv-auth-header){padding-top:var(--a7-safe-top)}
:where(.agent2-primary-navigation,.nv-public-nav[data-open]){padding-bottom:var(--a7-safe-bottom)}
:where(.agent2-mobile-bottom-nav,.mobile-bottom-nav){padding-inline:max(8px,var(--a7-safe-left)) max(8px,var(--a7-safe-right))!important;padding-bottom:max(7px,var(--a7-safe-bottom))!important}
:where(.sticky-actions,.form-actions--sticky,[data-sticky-actions],.kds-action-bar,.scanner-actions){padding-bottom:max(12px,var(--a7-safe-bottom))}
:where(.toast-host,.a4-toast-host){inset-inline:max(12px,var(--a7-safe-left)) max(12px,var(--a7-safe-right));inset-block-end:calc(12px + var(--a7-safe-bottom))}

/* Coarse pointers get usable hit areas without forcing desktop density changes. */
@media (pointer:coarse),(max-width:1180px){
  :where(button,.btn,[role="button"],input:not([type="hidden"]),select,textarea,summary,.mobile-nav-item,.a4-icon-button,.nv-secret-toggle,.chip-remove,.pagination a,.pagination button){min-block-size:var(--a7-touch-min)}
  :where(button,.btn,[role="button"],summary,.mobile-nav-item,.a4-icon-button,.nv-secret-toggle,.chip-remove,.pagination a,.pagination button){min-inline-size:var(--a7-touch-min)}
  :where(input[type="checkbox"],input[type="radio"]){inline-size:22px;block-size:22px;min-inline-size:22px;min-block-size:22px}
  :where(.actions,.form-actions,.page-actions,.toolbar,.button-group,.modal-actions,.agent2-page-header__actions){gap:max(8px,.55rem)}
}

@media (max-width:860px){
  html{scroll-padding-top:calc(66px + var(--a7-safe-top));scroll-padding-bottom:calc(78px + var(--a7-safe-bottom))}
  body:where(.surface-kind-platform,.surface-kind-owner,.surface-kind-workspace){padding-bottom:calc(72px + var(--a7-safe-bottom))}
  :where(.container,.shell-main,.clean-layout-content,.agent2-shell-layout){inline-size:min(100%,100vw);max-inline-size:100%;margin-inline:auto}
  :where(.grid,.form-grid,.a4-form-grid,.filters-grid,.dashboard-grid,.kpi-grid,.recipe-grid,.reservation-grid){grid-template-columns:minmax(0,1fr)!important}
  :where(.toolbar,.page-actions,.form-actions,.button-group,.agent2-page-header__actions,.modal-actions){flex-wrap:wrap}
  :where(.toolbar,.page-actions,.form-actions,.button-group,.agent2-page-header__actions)>:where(.btn,button,a[role="button"]){max-inline-size:100%}
  .agent2-primary-navigation{inset-block:0!important;padding-top:var(--a7-safe-top);block-size:var(--a7-vvh);max-block-size:var(--a7-vvh)}
  .agent2-nav-backdrop{block-size:var(--a7-vvh)!important}
  .agent2-command-palette__dialog{block-size:var(--a7-vvh)!important;max-block-size:var(--a7-vvh)!important;padding-bottom:var(--a7-safe-bottom)}
  :where(.modal-backdrop,.a4-modal-backdrop){align-items:end;padding:0!important}
  :where(.modal,.a4-modal,[role="dialog"],[role="alertdialog"]){inline-size:100%;max-inline-size:none;max-block-size:min(94dvh,var(--a7-vvh));border-end-start-radius:0;border-end-end-radius:0;padding-inline:max(12px,var(--a7-safe-left)) max(12px,var(--a7-safe-right))}
  :where(.table-responsive,.table-wrap,.data-table-wrap,[data-responsive-table],[data-a7-scroll-region]){border-radius:10px}
  :where(.nv-public-header,.nv-auth-header){padding-inline:max(12px,var(--a7-safe-left)) max(12px,var(--a7-safe-right))}
  .nv-public-nav[data-open]{max-block-size:calc(var(--a7-vvh) - 64px - var(--a7-safe-top));overflow:auto;overscroll-behavior:contain}
}

@media (max-width:520px){
  :where(h1,.h1){font-size:clamp(1.45rem,8vw,2rem);line-height:1.12}
  :where(h2,.h2){font-size:clamp(1.2rem,6.5vw,1.6rem)}
  :where(.card,.panel,.nv-card,.nv-auth-card,.workspace-card){padding-inline:min(4vw,16px)}
  :where(.btn,button,a[role="button"]){white-space:normal;text-align:center}
  :where(.agent2-page-header__actions,.modal-actions,.form-actions,.page-actions){display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  :where(.agent2-page-header__actions,.modal-actions,.form-actions,.page-actions)>*{inline-size:100%;max-inline-size:100%}
  .toast-host,.a4-toast-host{max-inline-size:calc(100vw - 24px)}
}

@media (max-width:360px){
  :root{--a7-focus-offset:2px}
  :where(.container,.shell-main,.content,.agent2-shell-layout){padding-inline:max(8px,var(--a7-safe-left)) max(8px,var(--a7-safe-right))}
  :where(.agent2-mobile-bottom-nav .mobile-nav-item){font-size:.62rem;line-height:1.1}
  :where(.agent2-mobile-bottom-nav__track){gap:2px!important}
}

/* Text zoom/reflow: preserve controls and avoid fixed-height clipping. */
@media (max-width:1280px){
  :where(.card,.panel,.workspace-card,.kpi-card,.chart-card){block-size:auto;min-block-size:0}
  :where(.page-title,.agent2-page-header__copy,.nv-brand__copy){min-inline-size:0}
}
@media (max-height:240px){
  :where(.agent2-app-header,.nv-public-header,.nv-auth-header){position:static!important}
  :where(.agent2-primary-navigation,.agent2-command-palette__dialog,.modal,.a4-modal,[role="dialog"]){max-block-size:var(--a7-vvh)!important}
  :where(.agent2-mobile-bottom-nav){position:static!important}
  body:where(.surface-kind-platform,.surface-kind-owner,.surface-kind-workspace){padding-bottom:0!important}
}

@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  *,*::before,*::after{animation-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:.001ms!important}
  :where(.skeleton,.pulse,.shimmer,[data-loading]){background-image:none!important}
}

@media (forced-colors:active){
  :root{--a7-focus-color:Highlight}
  :where(a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important;forced-color-adjust:auto}
  :where(button,.btn,input,select,textarea,.card,.panel,.modal,.a4-modal,.agent2-primary-navigation,.agent2-mobile-bottom-nav,.badge,.chip,.status-pill){border:1px solid CanvasText!important;box-shadow:none!important;forced-color-adjust:auto}
  :where([aria-current="page"],[aria-selected="true"],[aria-pressed="true"],.is-selected,.active){outline:2px solid Highlight!important;outline-offset:-2px}
  :where(.badge,.chip,[data-status],.status-pill)::before{background:CanvasText;clip-path:none;transform:none}
  :where(svg,img[alt=""]){forced-color-adjust:auto}
}

@media print{
  :where(.skip-link,.agent2-app-header,.agent2-primary-navigation,.agent2-nav-backdrop,.agent2-mobile-bottom-nav,.agent2-command-palette,.nv-public-header,.nv-auth-header,.toast-host,.a4-toast-host,.modal-backdrop,.a4-modal-backdrop,.no-print,[data-no-print]){display:none!important}
  :where(html,body,main,.content,.container,.shell-main,.clean-core-page-scope,.agent2-shell-layout,.agent2-shell-content){inline-size:100%!important;max-inline-size:none!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;color:#000!important;box-shadow:none!important}
  :where(table){inline-size:100%!important;font-size:9pt}
  :where(tr,img,svg,.card,.panel){break-inside:avoid}
  :where(a[href])::after{content:none!important}
}
