/* PHP shared-hosting bridge for the original NecoEDU admin design system. */
html[data-nx-admin] body{margin:0;min-width:320px}
.nx-root{min-height:100vh}
.nx-admin-loading{display:grid;place-items:center;min-height:100vh;background:var(--nx-bg)}
.nx-admin-loading__inner{display:grid;justify-items:center;gap:14px;color:var(--nx-muted);font-size:12px;font-weight:700}
.nx-admin-loading__mark{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--nx-accent),var(--nx-accent-strong));color:#fff;font-size:18px;font-weight:900;box-shadow:0 14px 34px color-mix(in srgb,var(--nx-accent) 32%,transparent)}
.nx-admin-loading__bar{width:160px;height:3px;overflow:hidden;border-radius:999px;background:var(--nx-border)}
.nx-admin-loading__bar i{display:block;width:42%;height:100%;background:var(--nx-accent);animation:nxphp-load 1.1s ease-in-out infinite}
@keyframes nxphp-load{0%{transform:translateX(-110%)}100%{transform:translateX(350%)}}
.nx-topbar__brand-mobile{display:none}
.nx-topbar__site{font-weight:750}
.nx-topbar__account{display:flex;align-items:center;gap:8px;min-width:0}
.nx-topbar__account-copy{display:grid;line-height:1.15;text-align:left}.nx-topbar__account-copy strong{font-size:11px}.nx-topbar__account-copy small{color:var(--nx-muted);font-size:9px}
.nx-sidebar__foot .nx-sb-btn[data-nx-collapse] svg{transition:transform var(--nx-dur) var(--nx-ease)}
html[data-nx-collapsed="true"] .nx-sidebar__foot .nx-sb-btn[data-nx-collapse] svg{transform:rotate(180deg)}
.nx-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--nx-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--nx-success) 18%,transparent)}
.nx-live.is-stale{background:var(--nx-warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--nx-warning) 18%,transparent)}
.nx-eyebrow{display:flex;align-items:center;gap:8px;color:var(--nx-accent-ink);font-size:var(--nx-text-xs);font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.nx-dash-section{display:grid;gap:10px}
.nx-all-clear{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--nx-success) 28%,var(--nx-border));border-radius:var(--nx-radius-md);background:var(--nx-success-soft);color:var(--nx-success-ink);font-size:var(--nx-text-sm);font-weight:750}
.nx-metric[data-tone="success"],.nx-insight[data-tone="success"]{--tone:var(--nx-success);--tone-ink:var(--nx-success-ink)}
.nx-metric[data-tone="danger"],.nx-insight[data-tone="danger"]{--tone:var(--nx-danger);--tone-ink:var(--nx-danger-ink)}
.nx-metric[data-tone="warning"],.nx-insight[data-tone="warning"]{--tone:var(--nx-warning);--tone-ink:var(--nx-warning-ink)}
.nx-metric[data-tone="info"],.nx-insight[data-tone="info"]{--tone:var(--nx-info);--tone-ink:var(--nx-info-ink)}
.nx-metric[data-tone="violet"],.nx-insight[data-tone="violet"]{--tone:var(--nx-violet);--tone-ink:var(--nx-violet-ink)}
.nx-metric__foot{margin:12px -17px 0;padding:9px 17px;border-top:1px solid var(--nx-border);color:var(--nx-muted);font-size:var(--nx-text-xs);font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px}
.nx-metric__value{display:block;margin-top:4px;font-size:clamp(22px,2vw,28px);font-weight:850;letter-spacing:-.035em;line-height:1.15;overflow:hidden;text-overflow:ellipsis}
.nx-metric__note{display:block;margin-top:5px;color:var(--nx-muted);font-size:var(--nx-text-xs)}
.nx-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.nx-quick{display:flex;align-items:center;gap:11px;min-width:0;padding:12px 13px;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:var(--nx-surface);color:var(--nx-text);text-decoration:none;box-shadow:var(--nx-shadow-sm);transition:.18s ease}
.nx-quick:hover{border-color:color-mix(in srgb,var(--nx-accent) 38%,var(--nx-border));transform:translateY(-1px);box-shadow:var(--nx-shadow)}
.nx-quick__icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:var(--nx-accent-soft);color:var(--nx-accent-ink)}
.nx-quick__copy{display:grid;min-width:0}.nx-quick__copy strong,.nx-quick__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-quick__copy strong{font-size:var(--nx-text-sm)}.nx-quick__copy small{color:var(--nx-muted);font-size:var(--nx-text-xs)}
.nx-lite-chart{width:100%;height:220px;display:block}.nx-lite-chart .grid{stroke:var(--nx-border);stroke-width:1}.nx-lite-chart .line{fill:none;stroke:var(--nx-chart-1);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.nx-lite-chart .area{fill:color-mix(in srgb,var(--nx-chart-1) 12%,transparent)}.nx-lite-chart .bar{fill:color-mix(in srgb,var(--nx-chart-2) 80%,transparent)}
.nx-chart-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.nx-chart-summary>div{padding:10px 12px;border:1px solid var(--nx-border);border-radius:var(--nx-radius-sm);background:var(--nx-surface-2)}.nx-chart-summary span,.nx-chart-summary small{display:block;color:var(--nx-muted);font-size:var(--nx-text-xs)}.nx-chart-summary strong{display:block;margin:3px 0;font-size:var(--nx-text-lg)}
.nx-timeline{list-style:none;margin:0;padding:0;display:grid}.nx-timeline li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-top:1px solid var(--nx-border)}.nx-timeline li:first-child{border-top:0}.nx-timeline__marker{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--nx-accent-soft);color:var(--nx-accent-ink)}.nx-timeline__copy{display:grid;min-width:0}.nx-timeline__copy strong,.nx-timeline__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-timeline__copy small,.nx-timeline time{color:var(--nx-muted);font-size:var(--nx-text-xs)}
.nx-php-module{display:grid;gap:var(--nx-section-gap)}
.nx-php-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.nx-php-toolbar__left,.nx-php-toolbar__right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nx-php-search{position:relative;min-width:min(360px,100%)}.nx-php-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--nx-subtle)}.nx-php-search input{width:100%;padding-left:34px!important}
.nx-data-table{width:100%;border-collapse:collapse;min-width:760px}.nx-data-table th,.nx-data-table td{padding:11px 13px;border-bottom:1px solid var(--nx-border);vertical-align:middle;text-align:left}.nx-data-table th{background:var(--nx-surface-2);color:var(--nx-muted);font-size:var(--nx-text-2xs);font-weight:850;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.nx-data-table td{font-size:var(--nx-text-sm)}.nx-data-table tbody tr:hover{background:var(--nx-hover)}.nx-data-table tr:last-child td{border-bottom:0}.nx-cell-title{display:grid;min-width:0}.nx-cell-title strong,.nx-cell-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-cell-title small{color:var(--nx-muted);font-size:var(--nx-text-xs)}
.nx-status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:var(--nx-surface-3);color:var(--nx-muted);font-size:var(--nx-text-2xs);font-weight:800;text-transform:capitalize}.nx-status-pill.is-success{background:var(--nx-success-soft);color:var(--nx-success-ink)}.nx-status-pill.is-danger{background:var(--nx-danger-soft);color:var(--nx-danger-ink)}.nx-status-pill.is-warning{background:var(--nx-warning-soft);color:var(--nx-warning-ink)}.nx-status-pill.is-info{background:var(--nx-info-soft);color:var(--nx-info-ink)}
.nx-empty-php{display:grid;justify-items:center;gap:8px;padding:48px 20px;color:var(--nx-muted);text-align:center}.nx-empty-php__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--nx-surface-3);color:var(--nx-subtle)}.nx-empty-php strong{color:var(--nx-text)}
.nx-stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.nx-stat-mini{padding:13px 14px;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:var(--nx-surface);box-shadow:var(--nx-shadow-sm)}.nx-stat-mini span{display:block;color:var(--nx-muted);font-size:var(--nx-text-xs);font-weight:700}.nx-stat-mini strong{display:block;margin-top:4px;font-size:var(--nx-text-xl);letter-spacing:-.03em}
.nx-json-details{margin-top:10px}.nx-json-details summary{cursor:pointer;color:var(--nx-muted);font-size:var(--nx-text-xs);font-weight:700}.nx-json-details pre{max-height:320px;overflow:auto;padding:12px;border-radius:var(--nx-radius-sm);background:var(--nx-code-bg);color:var(--nx-code-text)}
.nx-php-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:var(--nx-backdrop);backdrop-filter:blur(4px)}.nx-php-dialog{width:min(760px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;border:1px solid var(--nx-border);border-radius:var(--nx-radius-xl);background:var(--nx-surface);box-shadow:var(--nx-shadow-lg)}.nx-php-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid var(--nx-border)}.nx-php-dialog__head h2{margin:0;font-size:var(--nx-text-xl)}.nx-php-dialog__head p{margin:4px 0 0;color:var(--nx-muted);font-size:var(--nx-text-sm)}.nx-php-dialog__body{padding:18px}.nx-php-dialog__foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--nx-border)}
.nx-command-results{display:grid;gap:4px;margin-top:12px}.nx-command-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--nx-text);text-align:left}.nx-command-item:hover,.nx-command-item.is-active{border-color:var(--nx-border);background:var(--nx-surface-2)}.nx-command-item__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--nx-accent-soft);color:var(--nx-accent-ink)}.nx-command-item__copy{display:grid;min-width:0}.nx-command-item__copy small{color:var(--nx-muted)}
.nx-appearance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nx-appearance-grid label{display:grid;gap:6px;color:var(--nx-muted);font-size:var(--nx-text-xs);font-weight:750}.nx-swatch-grid{display:flex;flex-wrap:wrap;gap:8px}.nx-swatch{width:30px;height:30px;border:2px solid var(--nx-surface);border-radius:50%;box-shadow:0 0 0 1px var(--nx-border);background:var(--swatch);cursor:pointer}.nx-swatch.is-active{box-shadow:0 0 0 2px var(--nx-accent)}
.nx-toast-stack{position:fixed;right:18px;bottom:18px;z-index:120;display:grid;gap:8px;width:min(360px,calc(100vw - 36px))}.nx-php-toast{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:var(--nx-surface);box-shadow:var(--nx-shadow-lg);color:var(--nx-text)}.nx-php-toast.is-danger{border-color:color-mix(in srgb,var(--nx-danger) 35%,var(--nx-border))}.nx-php-toast.is-success{border-color:color-mix(in srgb,var(--nx-success) 35%,var(--nx-border))}
.nx-sidebar-filter-empty{padding:15px 10px;color:var(--nx-sb-muted);font-size:11px;text-align:center}
@media(max-width:1100px){.nx-chart-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.nx-topbar__brand-mobile{display:flex}.nx-sidebar{position:fixed;left:0;transform:translateX(-105%);width:min(300px,88vw);transition:transform var(--nx-dur) var(--nx-ease)}html[data-nx-mobile-open="true"] .nx-sidebar{transform:none}.nx-overlay{position:fixed;inset:0;z-index:35;display:block;border:0;background:var(--nx-scrim)}html:not([data-nx-mobile-open="true"]) .nx-overlay{display:none}.nx-app{grid-template-columns:1fr!important}.nx-topbar :is(.nx-topbar__menu,.nx-topbar__search-mobile){display:inline-grid}.nx-topbar__center{display:none}.nx-sidebar .nx-sidebar__close{display:grid}}
@media(max-width:720px){.nx-content{padding:16px 14px 36px}.nx-dash-hero{padding:18px}.nx-dash-hero__actions{width:100%}.nx-chart-summary{grid-template-columns:1fr 1fr}.nx-topbar__account-copy{display:none}.nx-appearance-grid{grid-template-columns:1fr}.nx-data-table{min-width:640px}}

/* v1.9.0 – original NecoEDU workspace parity bridge */
.nx-ps-studio{display:grid;gap:18px}
.nx-ps-list{display:grid;gap:14px}
.nx-ps-table-toolbar{display:grid;gap:0;padding:0 var(--nx-card-x)}
.nx-ps-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0}
.nx-ps-search{display:flex;align-items:center;gap:8px;min-width:260px;flex:1 1 300px;height:36px;padding:0 11px;border:1px solid var(--nx-border-strong);border-radius:var(--nx-radius-control);background:var(--nx-surface);color:var(--nx-muted)}
.nx-ps-search input{flex:1;min-width:0;height:100%!important;min-height:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important}
.nx-ps-select{display:inline-flex;align-items:center}
.nx-ps-select select{min-width:150px;height:36px}
.nx-ps-sort-select{margin-left:auto}
.nx-ps-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 11px;border:1px dashed var(--nx-border-strong)!important;border-radius:999px!important;background:var(--nx-surface)!important;color:var(--nx-muted)!important;font-size:var(--nx-text-xs)!important;font-weight:700!important}
.nx-ps-chip[aria-pressed="true"]{border-style:solid!important;border-color:color-mix(in srgb,var(--nx-accent) 38%,var(--nx-border))!important;background:var(--nx-accent-soft)!important;color:var(--nx-accent-ink)!important}
.nx-link-button{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:left!important;color:var(--nx-text)!important;font:inherit!important}
.nx-link-button:hover{color:var(--nx-accent-ink)!important}
.nx-person{display:flex;align-items:center;gap:9px;min-width:0}.nx-person__copy{display:grid;min-width:0}.nx-person__copy strong,.nx-person__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-person__copy strong{font-size:var(--nx-text-sm)}.nx-person__copy small{color:var(--nx-muted);font-size:var(--nx-text-2xs)}
.nx-avatar--sm{width:28px!important;height:28px!important;font-size:9px!important}
.nx-ps-cell-main{display:grid;gap:2px;min-width:0}.nx-ps-cell-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-ps-cell-main small{color:var(--nx-muted);font-size:var(--nx-text-2xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nx-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.nx-overview-card{display:grid;gap:5px;padding:14px!important;margin:0!important}.nx-overview-card span{color:var(--nx-muted);font-size:var(--nx-text-xs);text-transform:capitalize}.nx-overview-card strong{font-size:20px;letter-spacing:-.02em}
.nx-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nx-detail-field{display:grid;gap:4px;padding:11px;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:var(--nx-surface-2)}.nx-detail-field--wide{grid-column:1/-1}.nx-detail-field>span{color:var(--nx-muted);font-size:var(--nx-text-2xs);font-weight:750;text-transform:uppercase;letter-spacing:.05em}.nx-detail-field>strong{font-size:var(--nx-text-sm);overflow-wrap:anywhere}.nx-chip-list{display:flex;flex-wrap:wrap;gap:6px}.nx-detail-section{margin-top:16px}.nx-detail-section h3{margin:0 0 8px}.nx-curriculum-section{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--nx-border)}.nx-curriculum-section small{color:var(--nx-muted)}
.nx-ap-json{width:100%;min-height:230px!important;font:11px/1.5 var(--nx-mono)!important;white-space:pre!important}.nx-drawer__panel:focus{outline:0}
.nx-drawer .nx-range{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.nx-drawer .nx-range input{width:100%}
.nx-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.nx-detail-grid{grid-template-columns:1fr}.nx-ps-search{min-width:100%}.nx-ps-sort-select{margin-left:0}.nx-ps-select{flex:1}.nx-ps-select select{width:100%}}

/* v1.9.0 — original CMS preview route inside the PHP Admin Platform */
.nx-cms-preview-toolbar{display:flex;align-items:center;gap:14px;margin:0 0 18px}.nx-cms-preview-toolbar>div{min-width:0;display:grid;gap:2px;flex:1}.nx-cms-preview-toolbar strong{font-size:14px;color:var(--nx-text)}.nx-cms-preview-toolbar small{font-size:11.5px;color:var(--nx-muted)}.nx-cms-preview-frame{overflow:hidden;border:1px solid var(--nx-border);border-radius:var(--nx-radius-lg,16px);background:#fff;box-shadow:var(--nx-shadow-sm)}.nx-cms-preview-frame .cms-page{min-height:520px}.nx-cms-preview-frame .cms-page__blocks{width:100%}.nx-cms-preview-frame .cms-section__inner{max-width:min(1180px,calc(100% - 36px))}.nx-cms-preview-frame .cms-block{padding-block:48px}
@media(max-width:720px){.nx-cms-preview-toolbar{align-items:flex-start;flex-wrap:wrap}.nx-cms-preview-toolbar>div{order:-1;flex-basis:100%}}

/* v1.9.0 — complete shared-hosting studios built on the original NecoEDU nx-* design system */
.nx-full-section{overflow:hidden;margin:0}.nx-full-section>.nx-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--nx-border)}.nx-full-section>.nx-card__head h2{margin:0;font-size:var(--nx-text-md)}.nx-full-section>.nx-card__head small{display:block;margin-top:2px;color:var(--nx-muted);font-size:var(--nx-text-xs)}.nx-full-section>.nx-card__body{padding:16px}
.nx-ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.nx-ops-grid>.nx-full-section:only-child{grid-column:1/-1}
.nx-summary-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.nx-summary-dl>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--nx-border)}.nx-summary-dl>div:nth-last-child(-n+2){border-bottom:0}.nx-summary-dl dt{color:var(--nx-muted);font-size:var(--nx-text-xs);font-weight:700}.nx-summary-dl dd{margin:0;color:var(--nx-text);font-size:var(--nx-text-sm);font-weight:750;overflow-wrap:anywhere}
.nx-price-cell{display:grid;gap:2px}.nx-price-cell strong{font-size:var(--nx-text-sm)}.nx-price-cell small{color:var(--nx-muted);font-size:var(--nx-text-2xs)}
.nx-php-bars{display:grid;align-items:end;grid-template-columns:repeat(auto-fit,minmax(20px,1fr));gap:6px;height:150px;padding:14px 4px 2px}.nx-php-bars span{display:block;min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--nx-accent),color-mix(in srgb,var(--nx-accent) 62%,transparent));box-shadow:inset 0 -1px 0 color-mix(in srgb,#000 8%,transparent)}
.nx-php-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:14px}.nx-php-media-card{display:grid;gap:10px;min-width:0;padding:0;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);overflow:hidden;background:var(--nx-surface);color:var(--nx-text);text-align:left;cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.nx-php-media-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--nx-accent) 35%,var(--nx-border));box-shadow:var(--nx-shadow)}.nx-php-media-card__preview{display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;background:var(--nx-surface-2);color:var(--nx-subtle)}.nx-php-media-card__preview img{width:100%;height:100%;object-fit:cover}.nx-php-media-card__copy{display:grid;gap:3px;padding:0 11px 11px;min-width:0}.nx-php-media-card__copy strong,.nx-php-media-card__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-php-media-card__copy small{color:var(--nx-muted);font-size:var(--nx-text-2xs)}
.nx-php-notice-list{display:grid;gap:8px}.nx-php-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 13px;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:var(--nx-surface)}.nx-php-notice[data-unread="true"]{border-color:color-mix(in srgb,var(--nx-accent) 34%,var(--nx-border));background:color-mix(in srgb,var(--nx-accent) 3%,var(--nx-surface))}.nx-php-notice__mark{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--nx-accent-soft);color:var(--nx-accent-ink)}.nx-php-notice__copy{display:grid;gap:3px;min-width:0}.nx-php-notice__copy strong{font-size:var(--nx-text-sm)}.nx-php-notice__copy p{margin:0;color:var(--nx-muted);font-size:var(--nx-text-xs)}.nx-php-notice__copy small{color:var(--nx-subtle);font-size:var(--nx-text-2xs)}
.nx-php-audit{list-style:none;margin:0;padding:0;display:grid}.nx-php-audit li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;padding:10px 0;border-top:1px solid var(--nx-border)}.nx-php-audit li:first-child{border-top:0}.nx-php-audit__mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--nx-surface-2);color:var(--nx-muted)}.nx-php-audit__copy{display:grid;gap:2px;min-width:0}.nx-php-audit__copy strong{font-size:var(--nx-text-sm)}.nx-php-audit__copy small{color:var(--nx-muted);font-size:var(--nx-text-2xs)}
.nx-backup-note{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid color-mix(in srgb,var(--nx-info) 25%,var(--nx-border));border-radius:var(--nx-radius-md);background:var(--nx-info-soft);color:var(--nx-info-ink)}.nx-backup-note svg{flex:none;margin-top:1px}.nx-backup-note strong{display:block;font-size:var(--nx-text-sm)}.nx-backup-note p{margin:3px 0 0;font-size:var(--nx-text-xs);opacity:.86}
.nx-settings-form{display:grid;gap:14px}.nx-setting-group{display:grid;gap:10px}.nx-setting-group>h2{margin:0;font-size:var(--nx-text-md)}.nx-setting-row{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:18px;align-items:start;padding:13px 0;border-top:1px solid var(--nx-border)}.nx-setting-row:first-of-type{border-top:0}.nx-setting-row__copy{display:grid;gap:3px}.nx-setting-row__copy strong{font-size:var(--nx-text-sm)}.nx-setting-row__copy small{color:var(--nx-muted);font-size:var(--nx-text-xs)}.nx-setting-row>.nx-input{width:100%}
.nx-course-workspace{display:grid;gap:16px}.nx-curriculum-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px}.nx-curriculum-head h3{margin:0;font-size:var(--nx-text-md)}.nx-curriculum-section{display:grid!important;gap:0;padding:0!important;border:1px solid var(--nx-border)!important;border-radius:var(--nx-radius-md);overflow:hidden;background:var(--nx-surface)}.nx-curriculum-section+ .nx-curriculum-section{margin-top:9px}.nx-curriculum-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:var(--nx-surface-2);border-bottom:1px solid var(--nx-border)}.nx-curriculum-section>header>div{display:grid;gap:2px}.nx-curriculum-section>header small{color:var(--nx-muted);font-size:var(--nx-text-2xs);text-transform:uppercase;letter-spacing:.06em}.nx-curriculum-section>header strong{font-size:var(--nx-text-sm)}.nx-curriculum-lessons{display:grid}.nx-curriculum-lessons>p{padding:12px;margin:0}.nx-curriculum-lesson{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:10px 12px;border-top:1px solid var(--nx-border)}.nx-curriculum-lesson:first-child{border-top:0}.nx-curriculum-lesson>span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--nx-surface-2);color:var(--nx-muted);font-size:var(--nx-text-2xs);font-weight:800}.nx-curriculum-lesson>div{display:grid;gap:2px}.nx-curriculum-lesson strong{font-size:var(--nx-text-sm)}.nx-curriculum-lesson small{color:var(--nx-muted);font-size:var(--nx-text-2xs)}
.nx-ps-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.nx-ps-row{cursor:default}.nx-ps-row[data-generic-row]:hover .nx-ps-row-actions{opacity:1}.nx-ps-row-actions{opacity:.75;transition:opacity .15s ease}
.nx-php-dialog:has(.nx-course-workspace){width:min(1080px,calc(100vw - 40px));max-height:calc(100vh - 32px)}.nx-php-dialog:has(.nx-detail-grid){width:min(900px,calc(100vw - 40px))}
@media(max-width:900px){.nx-ops-grid{grid-template-columns:1fr}.nx-summary-dl{grid-template-columns:1fr}.nx-summary-dl>div:nth-last-child(-n+2){border-bottom:1px solid var(--nx-border)}.nx-summary-dl>div:last-child{border-bottom:0}.nx-setting-row{grid-template-columns:1fr;gap:8px}.nx-php-media-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}
@media(max-width:620px){.nx-php-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.nx-php-notice{grid-template-columns:auto minmax(0,1fr)}.nx-php-notice>:last-child{grid-column:2}.nx-curriculum-head{align-items:flex-start}.nx-curriculum-section>header{align-items:flex-start}.nx-php-dialog:has(.nx-course-workspace),.nx-php-dialog:has(.nx-detail-grid){width:100%}}

/* v1.9.0 — deep parity workspaces: Product Studio, CMS Visual Builder, User Studio */
.nx-php-dialog--builder{width:min(1580px,calc(100vw - 24px));height:min(940px,calc(100vh - 24px));max-width:none;display:flex;flex-direction:column;padding:0;overflow:hidden}.nx-php-dialog--builder>.nx-php-dialog__head,.nx-php-dialog--builder>.nx-php-dialog__foot{display:none}.nx-php-dialog--builder>.nx-php-dialog__body{padding:0;overflow:hidden;flex:1;min-height:0}.nx-cb--php{height:100%;min-height:0;display:flex;flex-direction:column}.nx-php-cb-bar{flex:0 0 auto}.nx-php-cb-grid{display:grid;grid-template-columns:250px minmax(0,1fr) 310px;flex:1;min-height:0;background:var(--nx-canvas,#eef1f5)}.nx-php-cb-library,.nx-php-cb-inspector{min-height:0;overflow:auto;background:var(--nx-surface,#fff);border-color:var(--nx-border)}.nx-php-cb-library{border-right:1px solid var(--nx-border)}.nx-php-cb-inspector{border-left:1px solid var(--nx-border)}.nx-php-cb-canvas{min-width:0;min-height:0;overflow:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start}.nx-php-cb-frame-wrap{width:100%;max-width:1440px;height:100%;min-height:640px;transition:max-width .2s ease}.nx-php-cb-frame-wrap[data-device="tablet"]{max-width:820px}.nx-php-cb-frame-wrap[data-device="mobile"]{max-width:420px}.nx-php-cb-frame-wrap iframe{width:100%;height:100%;min-height:640px;border:1px solid var(--nx-border);border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.1)}.nx-php-cb-blocks{display:grid;gap:7px;padding:10px 12px}.nx-php-cb-block{display:flex;align-items:flex-start;gap:9px;text-align:left;border:1px solid var(--nx-border);background:var(--nx-surface);border-radius:10px;padding:9px;cursor:pointer;color:var(--nx-text)}.nx-php-cb-block:hover{border-color:var(--nx-accent);background:color-mix(in srgb,var(--nx-accent) 5%,var(--nx-surface))}.nx-php-cb-block>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--nx-subtle);color:var(--nx-accent);flex:0 0 auto}.nx-php-cb-block strong,.nx-php-cb-block small{display:block}.nx-php-cb-block strong{font-size:11.5px}.nx-php-cb-block small{font-size:9.5px;color:var(--nx-muted);margin-top:2px;line-height:1.35}.nx-php-cb-templates{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border-top:1px solid var(--nx-border)}.nx-php-cb-templates>strong{width:100%;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--nx-muted)}.nx-php-cb-order{border-top:1px solid var(--nx-border);padding:10px 12px}.nx-php-cb-order-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.nx-php-cb-order-head strong{font-size:11px}.nx-php-cb-order-head span{font-size:9.5px;color:var(--nx-muted)}.nx-php-cb-order-row{display:flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:9px;padding:4px;margin-bottom:4px}.nx-php-cb-order-row.is-selected{border-color:var(--nx-accent);background:color-mix(in srgb,var(--nx-accent) 7%,transparent)}.nx-php-cb-order-row>button{display:flex;align-items:center;gap:7px;min-width:0;flex:1;border:0;background:none;color:inherit;text-align:left;cursor:pointer;padding:4px}.nx-php-cb-order-row>button span{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--nx-subtle);font-size:9px;color:var(--nx-muted)}.nx-php-cb-order-row>button strong{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-php-cb-order-row>div{display:flex;gap:2px}.nx-cb-inspector-form{padding:12px}.nx-php-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;line-height:1.5;tab-size:2;resize:vertical}.nx-input.is-invalid{border-color:#ef4444!important;box-shadow:0 0 0 2px rgba(239,68,68,.1)}
.nx-product-editor-php{min-height:520px}.nx-product-pane{padding-top:18px}.nx-product-category-box{margin-top:16px;padding:14px;border:1px solid var(--nx-border);border-radius:12px;background:var(--nx-subtle)}.nx-product-category-box>strong{display:block;margin-bottom:9px}.nx-product-category-box .nx-ps-chip{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.nx-php-product-price,.nx-php-product-media{display:grid;align-items:end;gap:8px;border:1px solid var(--nx-border);border-radius:12px;background:var(--nx-surface);padding:12px;margin-bottom:9px}.nx-php-product-price{grid-template-columns:1.1fr .9fr .9fr .8fr .8fr .8fr .65fr auto auto 32px}.nx-php-product-media{grid-template-columns:2fr .75fr .85fr 1fr 1.2fr 32px}.nx-php-product-price label,.nx-php-product-media label{min-width:0}.nx-php-product-price label>span,.nx-php-product-media label>span{display:block;font-size:9.5px;color:var(--nx-muted);margin-bottom:5px}.nx-php-check{display:flex;align-items:center;gap:5px;padding-bottom:9px;font-size:10px}.nx-user-workspace{min-height:520px}.nx-user-workspace>[data-user-pane]{padding-top:16px}.nx-user-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nx-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 16px}.nx-role-option{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--nx-border);border-radius:10px;padding:10px;cursor:pointer}.nx-role-option:has(input:checked){border-color:var(--nx-accent);background:color-mix(in srgb,var(--nx-accent) 6%,transparent)}.nx-role-option span,.nx-role-option strong,.nx-role-option small{display:block}.nx-role-option strong{font-size:11px}.nx-role-option small{font-size:9.5px;color:var(--nx-muted);margin-top:2px}
@media(max-width:1200px){.nx-php-product-price{grid-template-columns:repeat(3,minmax(0,1fr))}.nx-php-product-media{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-php-cb-grid{grid-template-columns:220px minmax(0,1fr) 270px}}@media(max-width:900px){.nx-php-cb-grid{grid-template-columns:1fr}.nx-php-cb-library,.nx-php-cb-inspector{display:none}.nx-php-cb-canvas{padding:10px}.nx-user-two-col,.nx-role-grid{grid-template-columns:1fr}.nx-php-product-price,.nx-php-product-media{grid-template-columns:1fr 1fr}}

/* v1.9.0 Course / Lesson Studio parity */
.nx-row-actions{display:flex;align-items:center;gap:7px}.nx-curriculum-lesson--edit{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.nx-curriculum-lesson--edit:hover{background:color-mix(in srgb,var(--nx-accent) 5%,var(--nx-surface))}.nx-lesson-editor{min-width:0}.nx-lesson-editor__grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.nx-lesson-sidebar{position:sticky;top:0}.nx-lesson-settings{padding:15px}.nx-lesson-settings h3{margin:0 0 12px;font-size:12px}.nx-lesson-settings .nx-field{margin-top:10px}.nx-lesson-resources{margin-top:4px;padding-top:14px;border-top:1px solid var(--nx-border)}.nx-lesson-resource{display:grid;grid-template-columns:.7fr 1.1fr 2fr auto 32px;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--nx-border)}.nx-lesson-resource__check{display:flex;align-items:center;gap:6px;padding:0 4px 10px;font-size:10px;white-space:nowrap;color:var(--nx-muted)}.nx-lesson-content{min-height:240px;font-family:var(--nx-font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);line-height:1.55}.nx-dialog-spacer{flex:1 1 auto}.nx-php-dialog__foot{display:flex;align-items:center;gap:8px}.nx-php-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nx-php-toggle{display:flex;align-items:center;gap:8px;min-height:36px;font-size:10.5px;color:var(--nx-text)}
@media(max-width:980px){.nx-lesson-editor__grid{grid-template-columns:1fr}.nx-lesson-sidebar{position:static}.nx-lesson-resource{grid-template-columns:1fr 1fr}.nx-lesson-resource__check{padding-bottom:4px}.nx-php-form-grid{grid-template-columns:1fr}}

/* v1.9.2 – full-page Course/Product Studio + shell parity */
.nx-php-workspace{display:grid;gap:16px;min-width:0}
.nx-php-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:2px 0 4px}
.nx-php-workspace-head__main{display:flex;align-items:flex-start;gap:12px;min-width:0}.nx-php-workspace-head__main>div{min-width:0}
.nx-php-workspace-head h1{margin:3px 0 4px;font-size:clamp(23px,2.3vw,31px);line-height:1.12;letter-spacing:-.035em}.nx-php-workspace-head p{margin:0;color:var(--nx-muted);font-size:var(--nx-text-sm)}
.nx-php-workspace-head__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}
.nx-php-workspace-card{padding:0;overflow:hidden}.nx-php-workspace-card>.nx-ps-tabs{padding:0 var(--nx-card-x);border-bottom:1px solid var(--nx-border);background:var(--nx-surface)}
.nx-php-workspace-card>[data-product-pane],.nx-php-workspace-card>[data-course-pane]{padding:18px var(--nx-card-x) 22px}
.nx-php-workspace--product .nx-product-editor-php,.nx-php-workspace--course .nx-course-workspace{min-height:calc(100vh - 250px)}
.nx-php-workspace--course .nx-curriculum-section{box-shadow:var(--nx-shadow-sm)}
@media(max-width:760px){.nx-php-workspace-head{display:grid}.nx-php-workspace-head__main{display:grid}.nx-php-workspace-head__actions{justify-content:flex-start}.nx-php-workspace-card>[data-product-pane],.nx-php-workspace-card>[data-course-pane]{padding:14px}.nx-php-workspace-card>.nx-ps-tabs{padding:0 10px;overflow-x:auto}.nx-php-workspace-card>.nx-ps-tabs .nx-ps-tab{white-space:nowrap}}
