/**
 * NexIndex Admin — Nex Dashboard Skin (Linen light).
 * Follows nex-dashboard-skin v1.1 / nex-design-system v1.0.
 * Tokens at :root (variables are inert until used). Components scoped to
 * .nexlink-dashboard (+ .nex-ah-* modal which is appended to body).
 * NexIndex identity = Structure/Navigation → blue.
 */

/* ── Token Layer 1: shared (identical across all Nex plugins) ── */
:root {
  --nl-success:#059669; --nl-success-light:#d1fae5;
  --nl-warning:#d97706; --nl-warning-light:#fef3c7;
  --nl-error:#dc2626;   --nl-error-light:#fee2e2;
  --nl-info:#0891b2;    --nl-info-light:#cffafe;

  --nl-text:#111827; --nl-text-muted:#6b7280; --nl-text-light:#9ca3af;
  --nl-border:#e5e7eb; --nl-border-dark:#d1d5db;
  --nl-background:#f6f8f7; --nl-background-white:#ffffff; --nl-background-hover:#f3f4f6;

  --nl-space-xs:4px; --nl-space-sm:8px; --nl-space-md:12px; --nl-space-lg:16px; --nl-space-xl:24px;

  --nl-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --nl-font-mono:"SF Mono",Monaco,"Cascadia Code",Consolas,"Courier New",monospace;
  --nl-fs-xs:11px; --nl-fs-sm:12px; --nl-fs-base:13px; --nl-fs-md:14px; --nl-fs-lg:16px; --nl-fs-xl:20px; --nl-fs-2xl:25px;

  --nl-radius-xs:4px; --nl-radius-sm:6px; --nl-radius-md:8px; --nl-radius-lg:10px; --nl-radius-xl:12px; --nl-radius-pill:999px;
  --nl-transition:150ms ease;

  /* ── Token Layer 2: NexIndex identity (matched to brand logo = teal) ── */
  --nl-primary:#09aaca; --nl-primary-hover:#0890ab; --nl-primary-light:#dcf4f9; --nl-primary-ink:#0e7490;
  --nl-eyebrow:var(--nl-primary-ink);
}

/* ── Root scope ── */
.nexlink-dashboard{font-family:var(--nl-font-family);color:var(--nl-text)}
.nexlink-dashboard .nexlink-container{max-width:1280px}
.nexlink-dashboard *{box-sizing:border-box}

/* ── Page header ── */
.nexlink-dashboard .nexlink-page-header{margin:12px 0 14px}
.nexlink-dashboard .nexlink-flex-between{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.nexlink-dashboard .nexlink-monogram{width:22px;height:22px;border-radius:var(--nl-radius-sm);background:var(--nl-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;flex-shrink:0}
.nexlink-dashboard .nexindex-logo{height:48px;width:auto;display:block;flex-shrink:0}
.nexlink-dashboard .nexlink-eyebrow{font-size:var(--nl-fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--nl-eyebrow);line-height:1.2;margin:0}
.nexlink-dashboard .nexlink-page-title{font-size:23px;font-weight:500;line-height:1.1;color:var(--nl-text);margin:0;display:inline-flex;align-items:center;gap:8px}
.nexlink-dashboard .nexlink-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nexlink-dashboard .nexlink-divider{color:var(--nl-border-dark);font-weight:300}
.nexlink-dashboard .nexlink-page-subtitle{font-size:var(--nl-fs-md);color:var(--nl-text-muted);margin:0}

/* ── Tabs ── */
.nexlink-dashboard .nexlink-tabs{display:flex;gap:2px;border-bottom:1px solid var(--nl-border);margin-bottom:14px;flex-wrap:wrap}
.nexlink-dashboard .nexlink-tab{font-size:var(--nl-fs-sm);padding:7px 12px;color:var(--nl-text-muted);border-bottom:2px solid transparent;cursor:pointer;user-select:none}
.nexlink-dashboard .nexlink-tab:hover{color:var(--nl-text)}
.nexlink-dashboard .nexlink-tab.is-active{color:var(--nl-primary-ink);border-bottom-color:var(--nl-primary);font-weight:500}
.nexlink-dashboard .nexlink-tabpanel{display:none}
.nexlink-dashboard .nexlink-tabpanel.is-active{display:block}

/* ── Card ── */
.nexlink-dashboard .nexlink-card{background:var(--nl-background-white);border:1px solid var(--nl-border);border-radius:var(--nl-radius-xl);padding:13px 14px;max-width:820px}
.nexlink-dashboard .nexlink-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.nexlink-dashboard .nexlink-card-title{font-size:var(--nl-fs-base);font-weight:500;color:var(--nl-text);margin:0}

/* ── Badge / pill ── */
.nexlink-dashboard .nexlink-badge{display:inline-block;font-size:var(--nl-fs-xs);padding:2px 8px;border-radius:var(--nl-radius-pill);border:1px solid var(--nl-border);background:var(--nl-background);color:var(--nl-text-muted)}
.nexlink-dashboard .nexlink-badge-primary{background:var(--nl-primary-light);color:var(--nl-primary-ink);border-color:var(--nl-primary-light)}
.nexlink-dashboard .nexlink-badge-success{background:var(--nl-success-light);color:#166534;border-color:var(--nl-success-light)}
.nexlink-dashboard .nexlink-badge-warning{background:var(--nl-warning-light);color:#92400e;border-color:var(--nl-warning-light)}

/* ── Field rows (form) ── */
.nexlink-dashboard .nexlink-field-row{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--nl-border)}
.nexlink-dashboard .nexlink-field-row:last-child{border-bottom:none}
.nexlink-dashboard .nexlink-field-label{font-size:12.5px;font-weight:500;color:var(--nl-text)}
.nexlink-dashboard .nexlink-field-hint{font-size:var(--nl-fs-xs);color:var(--nl-text-muted);margin-top:2px}
.nexlink-dashboard .nexlink-check{display:inline-flex;align-items:center;gap:7px;font-size:var(--nl-fs-sm);color:var(--nl-text)}

/* ── WP-native bridge (input/select/button/checkbox under our scope) ── */
.nexlink-dashboard input[type=text],.nexlink-dashboard input[type=url],.nexlink-dashboard input[type=number],.nexlink-dashboard input[type=search],.nexlink-dashboard input[type=email],.nexlink-dashboard textarea,.nexlink-dashboard select{font-size:var(--nl-fs-sm);padding:5px 10px;min-height:32px;border:1px solid var(--nl-border-dark);border-radius:var(--nl-radius-sm);background:var(--nl-background-white);color:var(--nl-text);box-shadow:none}
.nexlink-dashboard input:focus,.nexlink-dashboard textarea:focus,.nexlink-dashboard select:focus{border-color:var(--nl-primary);box-shadow:0 0 0 2px var(--nl-primary-light);outline:none}
.nexlink-dashboard input[type=checkbox]:checked,.nexlink-dashboard input[type=radio]:checked{background:var(--nl-primary);border-color:var(--nl-primary)}
.nexlink-dashboard input[type=checkbox]:focus,.nexlink-dashboard input[type=radio]:focus{border-color:var(--nl-primary);box-shadow:0 0 0 2px var(--nl-primary-light)}
.nexlink-dashboard .button,.nexlink-dashboard .button-secondary{font-size:var(--nl-fs-sm);font-weight:500;padding:5px 12px;line-height:1.6;border-radius:var(--nl-radius-sm);background:var(--nl-background-white);border:1px solid var(--nl-border-dark);color:var(--nl-text);box-shadow:none;text-shadow:none}
.nexlink-dashboard .button-primary{background:var(--nl-primary);border-color:var(--nl-primary);color:#fff}
.nexlink-dashboard .button-primary:hover{background:var(--nl-primary-hover);border-color:var(--nl-primary-hover);color:#fff}
.nexlink-dashboard .form-table th{padding:9px 12px 9px 0;font-size:12.5px;font-weight:500;color:var(--nl-text);vertical-align:top}
.nexlink-dashboard .form-table td{padding:9px 0;color:var(--nl-text)}
.nexlink-dashboard .form-table>tbody>tr{border-bottom:1px solid var(--nl-border)}
.nexlink-dashboard .form-table>tbody>tr:last-child{border-bottom:none}
.nexlink-dashboard .description{font-size:var(--nl-fs-xs);color:var(--nl-text-muted)}

/* ── Status / callout ── */
.nexlink-dashboard .nexlink-status{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--nl-radius-lg);margin:12px 0;font-size:var(--nl-fs-sm);color:var(--nl-text)}
.nexlink-dashboard .nexlink-status-info{background:var(--nl-info-light)}
.nexlink-dashboard .nexlink-status-warning{background:var(--nl-warning-light)}
.nexlink-dashboard .nexlink-status strong{color:var(--nl-primary-ink)}
.nexlink-dashboard .nexlink-glyph{width:16px;height:16px;display:inline-block;vertical-align:-3px;margin-right:6px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* ── Skin selector (Design tab) ── */
.nexlink-dashboard .skin-selector{display:flex;gap:14px;flex-wrap:wrap}
.nexlink-dashboard .skin-item{text-align:center;cursor:pointer;font-size:var(--nl-fs-xs);color:var(--nl-text-muted)}
.nexlink-dashboard .skin-preview{width:110px;height:72px;background:var(--nl-background);display:block;margin-bottom:6px;border:1px solid var(--nl-border);border-radius:var(--nl-radius-md);position:relative;overflow:hidden}
.nexlink-dashboard .skin-item input:checked + .skin-preview{border-color:var(--nl-primary);box-shadow:0 0 0 1px var(--nl-primary)}
.nexlink-dashboard .mock-glass::after{content:"";display:block;width:80%;height:40%;margin:18% auto;background:var(--nl-background-white);border-radius:var(--nl-radius-xs);border:1px solid var(--nl-border)}
.nexlink-dashboard .mock-midnight{background:#0f172a}
.nexlink-dashboard .mock-midnight::after{content:"";display:block;width:80%;height:40%;margin:18% auto;border:1px solid #334155;border-radius:var(--nl-radius-xs)}

/* ── Upsell (Integrations tab) ── */
.nexlink-dashboard .nex-upsell-box{background:var(--nl-primary);color:#fff;padding:16px;border-radius:var(--nl-radius-lg);margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nexlink-dashboard .nex-upsell-title{font-size:var(--nl-fs-md);font-weight:500;display:block;margin-bottom:4px}
.nexlink-dashboard .nex-upsell-desc{opacity:.92;font-size:var(--nl-fs-sm);line-height:1.4}
.nexlink-dashboard .nex-upsell-btn{background:#fff;color:var(--nl-primary-ink);padding:6px 14px;text-decoration:none;font-weight:500;font-size:var(--nl-fs-sm);border-radius:var(--nl-radius-sm);white-space:nowrap}
.nexlink-dashboard .nex-locked-feature{opacity:.55;pointer-events:none;filter:grayscale(1)}

/* ── Pattern list (Auto Heading tab) ── */
.nexlink-dashboard .nex-pattern-row{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--nl-border)}
.nexlink-dashboard .nex-pattern-row:last-child{border-bottom:none}
.nexlink-dashboard .nex-pattern-name{font-size:12.5px;font-weight:500;color:var(--nl-text);display:flex;align-items:center;gap:6px}
.nexlink-dashboard .nex-pattern-lvl{font-size:var(--nl-fs-xs);color:var(--nl-text-muted)}

/* ───────────────────────────────────────────────────────────
   Auto Heading review UI — shared by Classic modal (.nex-ah-overlay,
   appended to body) and Gutenberg sidebar panel (.nex-ah-panel).
   Tokens come from :root above, so these work outside .nexlink-dashboard.
   ─────────────────────────────────────────────────────────── */
.nex-ah-overlay{position:fixed;inset:0;background:rgba(17,24,39,.5);z-index:100000;display:flex;align-items:center;justify-content:center;font-family:var(--nl-font-family)}
.nex-ah-modal{background:var(--nl-background-white);width:520px;max-width:92vw;max-height:80vh;border-radius:var(--nl-radius-xl);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--nl-border)}
.nex-ah-head{padding:12px 14px;border-bottom:1px solid var(--nl-border);display:flex;align-items:center;justify-content:space-between}
.nex-ah-head h2{margin:0;font-size:var(--nl-fs-base);font-weight:500;color:var(--nl-text);display:flex;align-items:center;gap:8px}
.nex-ah-notice{display:flex;gap:8px;align-items:flex-start;background:var(--nl-info-light);color:var(--nl-text);padding:10px 14px;margin:12px 14px;border-radius:var(--nl-radius-lg);font-size:var(--nl-fs-xs)}
.nex-ah-notice strong{color:var(--nl-primary-ink)}
.nex-ah-body{padding:2px 14px 10px;overflow:auto}
.nex-ah-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--nl-border);font-size:12.5px;color:var(--nl-text)}
.nex-ah-item:last-child{border-bottom:none}
.nex-ah-text{flex:1;min-width:0}
.nex-ah-badge{display:inline-block;background:var(--nl-primary-light);color:var(--nl-primary-ink);padding:1px 7px;border-radius:var(--nl-radius-pill);font-size:var(--nl-fs-xs);white-space:nowrap;margin-right:6px}
.nex-ah-level{min-height:28px!important;padding:2px 6px!important;font-size:var(--nl-fs-xs)!important}
.nex-ah-foot{padding:11px 14px;border-top:1px solid var(--nl-border);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:var(--nl-fs-xs);color:var(--nl-text-muted)}
.nex-ah-empty{padding:20px;color:var(--nl-text-muted);text-align:center;font-size:var(--nl-fs-sm)}
.nex-ah-glyph{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--nl-info)}

/* Gutenberg sidebar panel reuse */
.nex-ah-panel .nex-ah-item{border-bottom:1px solid var(--nl-border)}
.nex-ah-panel .components-base-control{margin-bottom:0}
.nex-ah-disabled{padding:11px 12px;color:var(--nl-text-muted);font-size:var(--nl-fs-sm)}

/* ── Editor: live heading-structure list (Gutenberg sidebar) ── */
.nex-editor-list{list-style:none;padding:0;margin:0}
.nex-editor-item{padding:4px 0;border-bottom:1px solid var(--nl-border);font-size:12.5px;color:var(--nl-text)}
.nex-editor-item.level-2{font-weight:500}
.nex-editor-item.level-3{padding-left:15px}
.nex-badge{background:var(--nl-primary-light);color:var(--nl-primary-ink);padding:1px 7px;border-radius:var(--nl-radius-pill);font-size:var(--nl-fs-xs);margin-right:5px}

/* ── Editor: inline/standard heading visual preview (content style, not chrome) ── */
span.nex-inline-h2,span.nex-inline-h3,span.nex-inline-h4{font-weight:700 !important;color:var(--nl-primary-ink) !important;font-size:1em !important;line-height:inherit !important;display:inline !important}
span.nex-standard-h2,span.nex-standard-h3,span.nex-standard-h4{display:block;font-weight:700;margin-top:1em;font-size:1em !important;line-height:1.5 !important;color:var(--nl-text);border-bottom:2px solid var(--nl-border)}
