/* Nasaq 3.2 • BoardUI interaction fidelity layer
   Publicly documented design conventions, independently implemented.
   Loaded after previous releases' CSS; no business-logic selectors altered. */
:root {
  --ns32-control-h:36px;
  --ns32-control-sm:32px;
  --ns32-control-xs:24px;
  --ns32-control-radius:10px;
  --ns32-card-radius:14px;
  --ns32-outer-radius:24px;
  --ns32-float-shadow:0 2px 6px rgba(0,0,0,.035),0 12px 38px rgba(0,0,0,.06);
  --ns32-ring:0 0 0 3px color-mix(in srgb,var(--color-accent-500,var(--ns-accent,#4263eb)) 22%,transparent);
  --ns32-duration:140ms;
}
html[data-theme="dark"] {
  --ns32-float-shadow:0 2px 8px rgba(0,0,0,.2),0 16px 44px rgba(0,0,0,.35);
}
/* BoardUI typography family: 24/34, 20/26, 18/26, 16/22, 14/20, 13/18, 12/16. */
#nasaq-root{font-size:14px;line-height:1.5;letter-spacing:0}
#nasaq-root .ns-page-head h1{font-size:clamp(23px,2.25vw,32px);line-height:1.35;letter-spacing:0}
#nasaq-root .ns-section-head h2,#nasaq-root .ns-panel-heading h2{font-size:20px;line-height:1.4}
#nasaq-root .ns-page-head p,#nasaq-root .ns-field-help{font-size:13px;line-height:1.65}
#nasaq-root .ns-label{font-size:13px;line-height:1.55;font-weight:600;letter-spacing:0}
#nasaq-root .ns-eyebrow{font-size:12px;letter-spacing:0}
/* Predictable interaction sizes, with no shift when focusing. */
#nasaq-root .ns-btn:not(.icon){min-height:var(--ns32-control-h);border-radius:var(--ns32-control-radius);font-size:13px;font-weight:600;transition:background-color var(--ns32-duration),border-color var(--ns32-duration),box-shadow var(--ns32-duration),transform var(--ns32-duration)}
#nasaq-root .ns-btn.small{min-height:var(--ns32-control-sm)}
#nasaq-root .ns-btn.icon{min-width:var(--ns32-control-h);min-height:var(--ns32-control-h);border-radius:var(--ns32-control-radius)}
#nasaq-root :where(button,a,input,select,textarea,[role="tab"],[role="button"]):focus-visible{outline:2px solid var(--color-border-focus-ring,var(--ns-accent,#3b82f6));outline-offset:2px;box-shadow:var(--ns32-ring)}
#nasaq-root :where(button,a,input,select,textarea):disabled{cursor:not-allowed;opacity:.55}
#nasaq-root .ns-btn:active:not(:disabled){transform:translateY(1px)}
#nasaq-root :where(.ns-field input:not([type="checkbox"]):not([type="radio"]),.ns-field textarea,.ns-field select,.ns-search input,.nb29-work-search input){min-height:var(--ns32-control-h);border:1px solid var(--color-border-button-default,var(--ns-border));border-radius:var(--ns32-control-radius);background:var(--color-background-primary-default,var(--ns-surface));color:var(--color-text-primary,var(--ns-text));font-size:14px;line-height:20px}
#nasaq-root .ns-field textarea{min-height:88px;resize:vertical}
#nasaq-root :where(input,textarea,select)::placeholder{color:var(--color-text-tertiary,#a3a3a3);opacity:1}
#nasaq-root .ns-field :where(input,textarea,select):hover:not(:disabled){border-color:var(--color-border-button-hover,var(--ns-border-strong))}
/* Shared surfaces: same token family whether in a modal, dashboard or settings. */
#nasaq-root :where(.ns-card,.ns-panel,.nb29-panel,.ns-content-card,.ns-empty,.ns-script-preview){border-color:var(--color-separator-border,var(--ns-border));border-radius:var(--ns32-card-radius)}
#nasaq-root :where(.ns-card,.ns-panel,.nb29-panel){box-shadow:var(--board-card-shadow,0 1px 2px rgba(0,0,0,.045))}
#nasaq-root .ns-sidebar{box-shadow:var(--board-sidebar-shadow,var(--ns32-float-shadow));border-radius:var(--ns32-outer-radius);border-color:var(--color-separator-border,var(--ns-border))}
#nasaq-root .ns-nav-item{font-size:14px;line-height:20px;border-radius:10px;transition:background-color var(--ns32-duration),color var(--ns32-duration)}
#nasaq-root .ns-nav-item:hover:not(.is-active){background:var(--color-background-secondary-default,var(--ns-surface-alt))}
#nasaq-root .ns-nav-item.is-active{font-weight:600}
#nasaq-root .ns-nav-label{font-size:12px;letter-spacing:0;color:var(--color-text-secondary,var(--ns-text-secondary))}
#nasaq-root .nb29-sidebar-search,#nasaq-root .nb29-global-search{border-radius:10px;min-height:36px;transition:border-color var(--ns32-duration),box-shadow var(--ns32-duration);font-size:13px}
#nasaq-root :where(.nb29-sidebar-search,.nb29-global-search) kbd{font-family:inherit;direction:ltr;unicode-bidi:isolate;letter-spacing:0}
#nasaq-root .ns-topbar{background:transparent}
/* BoardUI's underline tabs, kept logical in both RTL and LTR subregions. */
#nasaq-root .ns-tabs{display:flex;gap:20px;position:relative;border-bottom:1px solid var(--color-separator-border,var(--ns-border));background:transparent;padding:0;overflow:auto;scrollbar-width:thin}
#nasaq-root .ns-tab{position:relative;flex:none;min-height:40px;border:0;border-radius:0;padding:0 2px;background:transparent;color:var(--color-text-secondary,var(--ns-text-secondary));font-weight:500;white-space:nowrap;transition:color var(--ns32-duration)}
#nasaq-root .ns-tab:hover{color:var(--color-text-primary,var(--ns-text));background:transparent}
#nasaq-root .ns-tab.is-active{color:var(--color-text-primary,var(--ns-text));font-weight:600;background:transparent}
#nasaq-root .ns-tab.is-active:after{content:'';position:absolute;inset-inline:0;bottom:-1px;height:2px;border-radius:4px 4px 0 0;background:var(--color-accent-500,var(--ns-accent,#4263eb))}
#nasaq-root .ns-count{font-variant-numeric:tabular-nums}
/* Table typography, dividers and controls. Same visual rules for all Nasaq tables. */
#nasaq-root :where(.ns-table,.nb29-native-table) th{color:var(--color-text-secondary,var(--ns-text-secondary));font-weight:600;font-size:12px;letter-spacing:0;background:var(--color-background-secondary-default,var(--ns-surface-alt))}
#nasaq-root :where(.ns-table,.nb29-native-table) :where(td,th){border-color:var(--color-border-table,var(--ns-border))}
#nasaq-root :where(.ns-table,.nb29-native-table) td{font-size:13px;line-height:1.65}
#nasaq-root :where(.ns-table,.nb29-native-table) tbody tr:hover{background:var(--color-background-primary-hover,var(--ns-surface-hover))}
#nasaq-root :where(.ns-table,.nb29-native-table) input[type="checkbox"]{accent-color:var(--color-accent-500,var(--ns-accent,#4263eb))}
#nasaq-root .ns-pagination{gap:12px;flex-wrap:wrap;font-size:12px;line-height:18px}
#nasaq-root .ns-pagination .ns-muted{color:var(--color-text-secondary,var(--ns-text-secondary))}
#nasaq-root .nb29-page-buttons button{min-width:32px;min-height:32px}
/* Dialog and sheet styling: logical direction, readable hierarchy, shared footer. */
#nasaq-root .ns-overlay{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#nasaq-root .ns-modal{border:1px solid var(--color-separator-border,var(--ns-border));border-radius:20px;box-shadow:var(--ns32-float-shadow);background:var(--color-background-primary-default,var(--ns-surface));color:var(--color-text-primary,var(--ns-text))}
#nasaq-root .ns-modal-head{border-bottom:1px solid var(--color-separator-border,var(--ns-border));padding-block:20px}
#nasaq-root .ns-modal-head h2{font-size:20px;line-height:26px}
#nasaq-root .ns-modal-foot{border-top:1px solid var(--color-separator-border,var(--ns-border));background:var(--color-background-primary-default,var(--ns-surface))}
#nasaq-root .ns-drawer{border-color:var(--color-separator-border,var(--ns-border));box-shadow:var(--ns32-float-shadow);background:var(--color-background-primary-default,var(--ns-surface));color:var(--color-text-primary,var(--ns-text));}
#nasaq-root .ns-drawer-head{border-color:var(--color-separator-border,var(--ns-border))}
#nasaq-root .ns-drawer-head h2{font-size:22px;line-height:30px}
#nasaq-root .ns-drawer-toolbar{border-color:var(--color-separator-border,var(--ns-border))}
#nasaq-root .ns-notification-item{transition:background-color var(--ns32-duration)}
#nasaq-root .ns-notification-item:hover{background:var(--color-background-primary-hover,var(--ns-surface-hover))}
#nasaq-root .ns-notification-item.is-unread{background:color-mix(in srgb,var(--color-accent-500,var(--ns-accent,#4263eb)) 5%,var(--color-background-primary-default,var(--ns-surface)))}
#nasaq-root .ns-toast{border:1px solid var(--color-separator-border,var(--ns-border));border-radius:12px;box-shadow:var(--ns32-float-shadow)}
/* Always preserve natural LTR flow for machine-readable values. */
#nasaq-root :where(input[type="url"],input[type="email"],input[type="tel"],input[autocomplete="one-time-code"]){direction:ltr;text-align:start;unicode-bidi:plaintext}
#nasaq-root :where(code,pre,kbd){direction:ltr;unicode-bidi:isolate}
/* Command palette: visual language from the free component reference, bespoke behavior. */
body.ns32-command-active{overflow:hidden}
.ns32-command-backdrop{position:fixed;inset:0;z-index:99990;display:flex;align-items:flex-start;justify-content:center;padding:clamp(64px,13vh,130px) 16px 16px;background:rgba(13,14,20,.36);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ns32-command-shell{box-sizing:border-box;width:min(100%,560px);max-height:min(74vh,700px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-separator-border,#ebebeb);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.18),0 2px 10px rgba(0,0,0,.07);background:var(--color-background-primary-default,#fff);color:var(--color-text-primary,#111);font:400 14px/20px var(--ns-font-choice,'Somar Sans',Nasaq,'Cairo',Arial,sans-serif);letter-spacing:0}
.ns32-command-top{min-height:64px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--color-separator-border,#ebebeb)}
.ns32-command-search-icon{font-family:Arial,sans-serif;font-size:26px;line-height:1;color:var(--color-text-secondary,#737373)}
.ns32-command-input{min-width:0;flex:1;border:0;outline:0!important;box-shadow:none!important;background:transparent;color:var(--color-text-primary,#111);font:inherit;line-height:26px;height:45px;padding:0}
.ns32-command-input::placeholder{color:var(--color-text-tertiary,#a3a3a3)}
.ns32-command-input::-webkit-search-cancel-button{cursor:pointer}
.ns32-command-escape{border:1px solid var(--color-border-button-default,#ebebeb);background:var(--color-background-secondary-default,#f7f7f7);border-radius:6px;padding:4px 6px;font:500 11px/1 Arial,sans-serif;color:var(--color-text-secondary,#737373)}
.ns32-command-results{padding:10px;overflow-y:auto;overscroll-behavior:contain;min-height:84px}
.ns32-command-group{padding:10px 12px 7px;font-size:11px;line-height:16px;font-weight:600;color:var(--color-text-tertiary,#a3a3a3)}
.ns32-command-item{box-sizing:border-box;display:flex;align-items:center;gap:10px;text-align:start;width:100%;border:0;border-radius:10px;background:transparent;color:var(--color-text-primary,#111);padding:10px 12px;min-height:56px;cursor:pointer;font:inherit}
.ns32-command-item:is(:hover,.is-selected){background:var(--color-background-secondary-default,#f7f7f7)}
.ns32-command-item:focus-visible,.ns32-command-foot button:focus-visible{outline:2px solid var(--color-border-focus-ring,#4263eb);outline-offset:-2px}
.ns32-command-item.is-selected .ns32-command-chevron{color:var(--color-accent-500,#4263eb)}
.ns32-command-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.ns32-command-copy strong{font-weight:600;font-size:14px;line-height:20px}
.ns32-command-copy small{font-size:12px;line-height:16px;color:var(--color-text-secondary,#737373)}
.ns32-command-chevron{font-family:Arial,sans-serif;font-size:16px;color:var(--color-text-tertiary,#a3a3a3)}
.ns32-command-empty{padding:30px 18px;text-align:center;color:var(--color-text-secondary,#737373);font-size:13px}
.ns32-command-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--color-separator-border,#ebebeb);background:var(--color-background-secondary-default,#f7f7f7);padding:10px 16px;color:var(--color-text-secondary,#737373);font-size:12px}
.ns32-command-foot button{font:inherit;color:inherit;cursor:pointer;background:transparent;border:0;border-radius:6px;padding:5px 8px}
@media(max-width:600px){.ns32-command-backdrop{padding:8vh 10px 10px}.ns32-command-shell{max-height:82vh}.ns32-command-top{padding-inline:12px}.ns32-command-item{min-height:52px}}
@media(prefers-reduced-motion:reduce){#nasaq-root :where(button,input,select,textarea),.ns32-command-item{transition:none!important}}
