:root{--fqms-primary:#0f766e;--fqms-sidebar-bg:#0b1720;--fqms-bg:#f6f8fb;--fqms-panel:#fff;--fqms-text:#102027;--fqms-muted:#64748b;--fqms-border:#e2e8f0;--fqms-radius:18px;--fqms-shadow:0 18px 45px rgba(15,23,42,.08)}
.fqms-admin,.fqms-frontend{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 32px);background:var(--fqms-bg);color:var(--fqms-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.fqms-sidebar{background:var(--fqms-sidebar-bg);color:#fff;padding:22px;position:sticky;top:32px;height:calc(100vh - 32px);box-sizing:border-box}.fqms-brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.fqms-brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:12px;padding:5px}.fqms-brand strong{display:block;font-size:15px}.fqms-brand span{display:block;color:#94a3b8;font-size:12px}.fqms-sidebar nav{display:grid;gap:8px}.fqms-sidebar a{color:#dbeafe;text-decoration:none;padding:11px 12px;border-radius:12px}.fqms-sidebar a:hover{background:rgba(255,255,255,.1);color:#fff}.fqms-main{padding:28px;max-width:1440px}.fqms-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.fqms-main h1{font-size:28px;margin:0}.fqms-hero,.fqms-panel,.fqms-card,.fqms-addon{background:var(--fqms-panel);border:1px solid var(--fqms-border);border-radius:var(--fqms-radius);box-shadow:var(--fqms-shadow);padding:22px}.fqms-hero{margin-bottom:20px;background:linear-gradient(135deg,#fff,#ecfeff)}.fqms-hero h2{font-size:32px;margin:0 0 8px}.fqms-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.fqms-card span{display:block;color:var(--fqms-muted);font-size:13px}.fqms-grid .fqms-card>strong{display:block;font-size:34px;margin:10px 0}.fqms-card small{color:var(--fqms-muted)}.fqms-panel{margin:18px 0}.fqms-checklist{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.fqms-checklist span{border-bottom:1px solid var(--fqms-border);padding:8px 0}.fqms-checklist b{background:#dcfce7;color:#166534;padding:6px 10px;border-radius:999px}.fqms-addon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fqms-addon-logo{width:58px;height:58px;border-radius:16px;background:var(--fqms-primary);display:grid;place-items:center;color:#fff;font-weight:800}.fqms-addon h2{margin:14px 0 8px}.fqms-badge{display:inline-block;background:#eef2ff;color:#3730a3;border-radius:999px;padding:5px 10px;font-size:12px;margin:0 5px 8px 0}.fqms-btn,.fqms-form button,.fqms-login-card button{background:var(--fqms-primary);color:#fff;border:0;border-radius:12px;padding:11px 16px;text-decoration:none;display:inline-block;font-weight:700;cursor:pointer}.fqms-btn[disabled]{opacity:.55;cursor:not-allowed}.fqms-form{display:grid;gap:16px;max-width:760px}.fqms-form label,.fqms-login-card label{display:grid;gap:7px;font-weight:700}.fqms-form input,.fqms-form select,.fqms-form textarea,.fqms-login-card input{border:1px solid var(--fqms-border);border-radius:12px;padding:11px;background:#fff;max-width:100%;box-sizing:border-box}.fqms-form textarea{width:100%}.fqms-inline{display:flex!important;align-items:center;gap:8px;font-weight:500!important}.fqms-doc-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.fqms-doc-links a{background:#f1f5f9;border-radius:12px;padding:10px 12px;text-decoration:none}.fqms-muted{color:var(--fqms-muted)}.fqms-alert{background:#fee2e2;color:#991b1b;padding:12px;border-radius:12px;margin:12px 0}.fqms-public{padding:26px;background:#fff;border-radius:18px;border:1px solid var(--fqms-border)}.fqms-login-body{min-height:100vh;background:var(--fqms-login-bg);display:grid;place-items:center;margin:0;font-family:Inter,system-ui,sans-serif}.fqms-login-card{width:min(420px,calc(100vw - 34px));background:var(--fqms-login-card-bg);color:var(--fqms-login-text);border-radius:24px;padding:32px;box-shadow:0 24px 80px rgba(0,0,0,.24)}.fqms-login-logo{width:96px;height:96px;object-fit:contain;display:block;margin:auto}.fqms-login-card h1{text-align:center;font-size:26px}.fqms-login-card p{text-align:center;color:var(--fqms-muted)}.fqms-login-card form{display:grid;gap:14px}.fqms-login-card a{text-align:center;color:var(--fqms-primary)}
@media(max-width:980px){.fqms-admin,.fqms-frontend{grid-template-columns:1fr}.fqms-sidebar{position:relative;top:auto;height:auto}.fqms-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.fqms-grid,.fqms-addon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fqms-main{padding:18px}}
@media(max-width:640px){.fqms-grid,.fqms-addon-grid{grid-template-columns:1fr}.fqms-main>header{display:grid;gap:10px}.fqms-sidebar nav{grid-template-columns:1fr}.fqms-hero h2{font-size:24px}.fqms-grid .fqms-card>strong{font-size:28px}}
.fqms-brand-logo-only{justify-content:center;margin-bottom:28px}.fqms-brand-logo-only img{width:64px;height:64px}.fqms-brand-logo-only strong,.fqms-brand-logo-only span{display:none!important}

/* v1.0.2: collapsible workspace sidebar with icons */
.fqms-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.fqms-sidebar-toggle,.fqms-mobile-toggle{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:12px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer}.fqms-mobile-toggle{display:none;background:var(--fqms-sidebar-bg);color:#fff;margin-right:10px}.fqms-nav-item{display:flex;align-items:center;gap:12px;white-space:nowrap}.fqms-nav-item .dashicons{font-size:19px;width:20px;height:20px}.fqms-nav-item.is-active{background:var(--fqms-primary);color:#fff}.fqms-admin.fqms-sidebar-collapsed{grid-template-columns:92px 1fr}.fqms-admin.fqms-sidebar-collapsed .fqms-sidebar{padding:18px 14px}.fqms-admin.fqms-sidebar-collapsed .fqms-sidebar-head{justify-content:center;display:grid}.fqms-admin.fqms-sidebar-collapsed .fqms-brand-logo-only img{width:48px;height:48px}.fqms-admin.fqms-sidebar-collapsed .fqms-nav-label{display:none}.fqms-admin.fqms-sidebar-collapsed .fqms-nav-item{justify-content:center;padding:13px 10px}.fqms-admin.fqms-sidebar-collapsed .fqms-sidebar-toggle{transform:rotate(180deg)}
@media(max-width:980px){.fqms-mobile-toggle{display:grid}.fqms-admin{position:relative}.fqms-sidebar{display:none}.fqms-admin.fqms-sidebar-open .fqms-sidebar{display:block;position:fixed;z-index:99999;left:0;top:32px;width:min(320px,88vw);height:calc(100vh - 32px);box-shadow:0 24px 80px rgba(0,0,0,.35)}.fqms-admin.fqms-sidebar-collapsed{grid-template-columns:1fr}.fqms-sidebar nav{grid-template-columns:1fr!important}.fqms-main>header{grid-template-columns:auto 1fr auto;display:grid!important}.fqms-main>header h1{align-self:center}}

/* v1.0.3: clearer collapse controls and reliable sidebar icons */
.fqms-sidebar{display:flex;flex-direction:column}.fqms-sidebar nav{flex:1}.fqms-sidebar-toggle{width:auto;min-width:42px;padding:0 12px;gap:8px;grid-auto-flow:column}.fqms-sidebar-toggle .dashicons,.fqms-mobile-toggle .dashicons,.fqms-sidebar-collapse-wide .dashicons{font-size:20px;width:20px;height:20px;line-height:20px}.fqms-toggle-label{font-size:12px;font-weight:700}.fqms-sidebar-collapse-wide{margin-top:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#dbeafe;border-radius:14px;padding:12px;display:flex;align-items:center;gap:12px;width:100%;cursor:pointer;text-align:left}.fqms-sidebar-collapse-wide:hover{background:rgba(255,255,255,.14);color:#fff}.fqms-nav-item:first-child .dashicons-dashboard:before{content:"\f226"}.fqms-admin.fqms-sidebar-collapsed .fqms-toggle-label{display:none}.fqms-admin.fqms-sidebar-collapsed .fqms-sidebar-collapse-wide{justify-content:center;padding:13px 10px}.fqms-admin.fqms-sidebar-collapsed .fqms-sidebar-collapse-wide .dashicons{transform:rotate(180deg)}.fqms-admin.fqms-sidebar-collapsed .fqms-sidebar-toggle{padding:0;width:42px}.fqms-admin.fqms-sidebar-collapsed .fqms-nav-label,.fqms-admin.fqms-sidebar-collapsed .fqms-sidebar-collapse-wide .fqms-nav-label{display:none!important}@media(max-width:980px){.fqms-sidebar-collapse-wide{display:none}.fqms-sidebar-toggle .fqms-toggle-label{display:none}.fqms-sidebar-toggle{width:42px;padding:0}.fqms-mobile-toggle{display:grid!important}}

/* v1.0.4: shared collapsible sidebar behavior for admin and frontend workspaces */
.fqms-frontend.fqms-sidebar-collapsed{grid-template-columns:92px 1fr}.fqms-frontend.fqms-sidebar-collapsed .fqms-sidebar{padding:18px 14px}.fqms-frontend.fqms-sidebar-collapsed .fqms-sidebar-head{justify-content:center;display:grid}.fqms-frontend.fqms-sidebar-collapsed .fqms-brand-logo-only img{width:48px;height:48px}.fqms-frontend.fqms-sidebar-collapsed .fqms-nav-label{display:none}.fqms-frontend.fqms-sidebar-collapsed .fqms-nav-item{justify-content:center;padding:13px 10px}.fqms-frontend.fqms-sidebar-collapsed .fqms-toggle-label{display:none}.fqms-frontend.fqms-sidebar-collapsed .fqms-sidebar-collapse-wide{justify-content:center;padding:13px 10px}.fqms-frontend.fqms-sidebar-collapsed .fqms-sidebar-collapse-wide .dashicons{transform:rotate(180deg)}.fqms-frontend.fqms-sidebar-collapsed .fqms-sidebar-toggle{padding:0;width:42px}.fqms-frontend.fqms-sidebar-collapsed .fqms-nav-label,.fqms-frontend.fqms-sidebar-collapsed .fqms-sidebar-collapse-wide .fqms-nav-label{display:none!important}
@media(max-width:980px){.fqms-frontend{position:relative}.fqms-frontend .fqms-sidebar{display:none}.fqms-frontend.fqms-sidebar-open .fqms-sidebar{display:block;position:fixed;z-index:99999;left:0;top:0;width:min(320px,88vw);height:100vh;box-shadow:0 24px 80px rgba(0,0,0,.35)}.fqms-frontend.fqms-sidebar-collapsed{grid-template-columns:1fr}.fqms-frontend .fqms-main>header{grid-template-columns:auto 1fr auto;display:grid!important}.fqms-frontend .fqms-main>header h1{align-self:center}}


/* v1.0.5: use footer collapse only; no sidebar-header hamburger. */
.fqms-sidebar-head{justify-content:flex-start;margin-bottom:28px;}
.fqms-sidebar-head .fqms-brand{margin-bottom:0;}
.fqms-sidebar-head .fqms-sidebar-toggle{display:none!important;}
.fqms-sidebar-collapse-wide{margin-top:auto;}
.fqms-admin.fqms-sidebar-collapsed .fqms-sidebar-head,.fqms-frontend.fqms-sidebar-collapsed .fqms-sidebar-head{display:flex;justify-content:center;}

/* v1.0.6: natural logo scaling and improved configuration controls */
.fqms-brand img{width:auto;height:auto;max-width:128px;max-height:74px;object-fit:contain;background:transparent;border-radius:0;padding:0;display:block}
.fqms-brand-logo-only{justify-content:center;margin-bottom:28px;min-height:76px}
.fqms-brand-logo-only img{width:auto!important;height:auto!important;max-width:132px;max-height:76px;object-fit:contain;background:transparent!important;border-radius:0!important;padding:0!important}
.fqms-login-logo{width:auto;height:auto;max-width:180px;max-height:96px;object-fit:contain}
.fqms-admin.fqms-sidebar-collapsed .fqms-brand-logo-only,.fqms-frontend.fqms-sidebar-collapsed .fqms-brand-logo-only{min-height:46px;margin-bottom:22px}
.fqms-admin.fqms-sidebar-collapsed .fqms-brand-logo-only img,.fqms-frontend.fqms-sidebar-collapsed .fqms-brand-logo-only img{width:auto!important;height:auto!important;max-width:58px;max-height:46px}
.fqms-form input[type="color"]{width:72px;height:44px;padding:4px;cursor:pointer}
.fqms-form textarea[name="fqms_email_recipients"]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;line-height:1.5}
@media(max-width:980px){.fqms-brand-logo-only img{max-width:116px;max-height:64px}.fqms-brand-logo-only{min-height:64px}}


/* v1.0.7: mobile sidebar can be closed from inside the drawer. */
.fqms-label-mobile{display:none!important}
@media(max-width:980px){
  .fqms-admin.fqms-sidebar-open .fqms-sidebar-collapse-wide,
  .fqms-frontend.fqms-sidebar-open .fqms-sidebar-collapse-wide{display:flex!important;margin-top:auto}
  .fqms-label-desktop{display:none!important}
  .fqms-label-mobile{display:inline!important}
  .fqms-sidebar-collapse-wide .dashicons{transform:none!important}
  .fqms-admin.fqms-sidebar-open .fqms-sidebar,
  .fqms-frontend.fqms-sidebar-open .fqms-sidebar{display:flex!important;flex-direction:column}
}

/* v1.0.10: setup wizard and media-library logo controls */
.fqms-wizard-intro h2{font-size:24px;line-height:1.2;margin:0 0 8px}.fqms-wizard{background:var(--fqms-panel);border:1px solid var(--fqms-border);border-radius:var(--fqms-radius);box-shadow:var(--fqms-shadow);padding:22px;margin:18px 0}.fqms-wizard-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0 0 22px}.fqms-wizard-progress li{border:1px solid var(--fqms-border);border-radius:999px;padding:8px 10px;text-align:center;color:var(--fqms-muted);font-size:12px;font-weight:700;background:#fff}.fqms-wizard-progress li.is-active{background:var(--fqms-primary);color:#fff;border-color:var(--fqms-primary)}.fqms-wizard-step{display:none;gap:14px}.fqms-wizard-step.is-active{display:grid}.fqms-wizard-step h3{font-size:24px;line-height:1.15;margin:0}.fqms-wizard-step p{margin:0;color:var(--fqms-muted)}.fqms-wizard-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;border-top:1px solid var(--fqms-border);padding-top:18px;margin-top:18px}.fqms-wizard-actions .submit{margin:0;padding:0}.fqms-wizard-save{display:none!important}.fqms-wizard.is-last-step .fqms-wizard-save{display:inline-block!important}.fqms-wizard.is-last-step [data-fqms-wizard-next]{display:none}.fqms-btn-secondary{background:#e2e8f0!important;color:#0f172a!important}.fqms-media-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.fqms-media-field input{width:100%}.fqms-brand-preview{border:1px dashed var(--fqms-border);border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:center;background:#f8fafc}.fqms-brand-preview img{max-width:240px;max-height:120px;width:auto;height:auto;object-fit:contain}.fqms-grid .fqms-card>strong{font-size:clamp(22px,2.4vw,34px);line-height:1.1;overflow-wrap:anywhere}.fqms-card{min-width:0}
@media(max-width:980px){.fqms-wizard-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.fqms-media-field{grid-template-columns:1fr}.fqms-wizard-actions{justify-content:stretch}.fqms-wizard-actions .fqms-btn,.fqms-wizard-actions .button{flex:1;text-align:center}}
@media(max-width:640px){.fqms-wizard-progress{grid-template-columns:1fr 1fr}.fqms-wizard{padding:16px}.fqms-wizard-step h3{font-size:21px}}

/* v1.0.11: password recovery feedback and dynamic language controls */
.fqms-success{background:#dcfce7;color:#166534;padding:12px;border-radius:12px;margin:12px 0}
.fqms-form textarea[name="fqms_supported_languages"]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;line-height:1.5}

/* v1.0.12-mvp: keep frontend/admin sidebar navigation aligned to the top when only Core menu items are available. */
.fqms-sidebar nav{
  flex:0 0 auto!important;
  align-content:start!important;
  align-items:start!important;
  grid-auto-rows:auto!important;
}
.fqms-sidebar .fqms-nav-item{
  min-height:46px;
  height:auto!important;
  box-sizing:border-box;
}
.fqms-sidebar .fqms-nav-item.is-active{
  background:var(--fqms-primary);
}

/* v1.0.13-mvp: scalable Core finalization - registry-driven Settings tabs and stronger health UI */
.fqms-settings-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.fqms-tabs{background:var(--fqms-panel);border:1px solid var(--fqms-border);border-radius:var(--fqms-radius);box-shadow:var(--fqms-shadow);padding:10px;display:grid;gap:6px;position:sticky;top:52px}.fqms-tab{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fqms-text);border-radius:12px;padding:10px 12px;font-weight:700}.fqms-tab:hover{background:#f1f5f9}.fqms-tab.is-active{background:var(--fqms-primary);color:#fff}.fqms-tab .dashicons{font-size:18px;width:18px;height:18px}.fqms-settings-content{min-width:0}.fqms-wizard[data-fqms-wizard]{display:block}.fqms-wizard[data-fqms-wizard] .fqms-form{max-width:920px}.fqms-wizard[data-fqms-wizard] .fqms-wizard-step{margin-top:16px}.fqms-checklist b{white-space:nowrap}.fqms-main{width:100%;box-sizing:border-box}.fqms-panel,.fqms-card,.fqms-addon{overflow-wrap:anywhere}@media(max-width:980px){.fqms-settings-shell{grid-template-columns:1fr}.fqms-tabs{position:relative;top:auto;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.fqms-tabs{grid-template-columns:1fr}.fqms-checklist{grid-template-columns:1fr}.fqms-checklist b{justify-self:start}}


/* v1.0.14-mvp: center sidebar logo and make Settings tabs clearly independent pages. */
.fqms-sidebar-head{
  justify-content:center!important;
  text-align:center;
}
.fqms-sidebar-head .fqms-brand-logo-only{
  margin-left:auto;
  margin-right:auto;
}
.fqms-settings-tab-panel h2{
  font-size:clamp(24px,2vw,32px);
  line-height:1.15;
  margin:0 0 8px;
}
.fqms-settings-tab-panel .fqms-muted{
  margin:0 0 18px;
}
.fqms-settings-shell .fqms-tab{
  min-height:44px;
}

.fqms-login-card button{background:var(--fqms-login-button)}
.fqms-login-card h1{color:var(--fqms-login-text)}

.fqms-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 14px;margin:8px 0 6px}.fqms-check{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:10px 12px;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:rgba(255,255,255,.65)}.fqms-check input{width:auto!important;margin:0!important}.fqms-check span{font-weight:600;color:#334155}
.fqms-addon-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;align-items:center}.fqms-btn-small{padding:8px 12px;font-size:13px;border-radius:10px}.fqms-btn-secondary{background:#eef2ff;color:#1e3a8a}.fqms-btn-danger{background:#fee2e2;color:#991b1b}.fqms-addon-logo img{max-width:100%;max-height:100%;object-fit:contain}

/* v1.0.24: real add-on workspace tables and filters */
.fqms-section-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.fqms-section-header h2{margin:0 0 6px}.fqms-actions{display:flex;gap:10px;flex-wrap:wrap}.fqms-btn-secondary{background:#e2e8f0!important;color:#0f172a!important}.fqms-filter-form{display:grid;grid-template-columns:1fr 220px auto;align-items:end;gap:12px;margin:18px 0;max-width:none}.fqms-table-wrap{overflow:auto;border:1px solid var(--fqms-border);border-radius:16px}.fqms-table{width:100%;border-collapse:collapse;background:#fff}.fqms-table th,.fqms-table td{padding:12px 14px;border-bottom:1px solid var(--fqms-border);text-align:left;white-space:nowrap}.fqms-table th{background:#f8fafc;color:#334155;font-size:13px}.fqms-table tr:last-child td{border-bottom:0}@media(max-width:760px){.fqms-section-header{display:grid}.fqms-filter-form{grid-template-columns:1fr}}

/* FQMS Core v1.0.29 Team Users */
.fqms-two-column{display:grid;grid-template-columns:minmax(280px,0.8fr) minmax(320px,1.2fr);gap:20px;align-items:start}
.fqms-table-wrap{overflow-x:auto}
.fqms-team-row{display:grid;grid-template-columns:1fr 1.2fr 160px 220px auto;gap:10px;align-items:center}
.fqms-team-row input,.fqms-team-row select{width:100%;max-width:100%}
.fqms-inline-form{margin:0}
@media(max-width:900px){.fqms-two-column{grid-template-columns:1fr}.fqms-team-row{grid-template-columns:1fr}.fqms-team-row span{display:block}}

/* FQMS Core v1.0.30 Roles & Profile */
.fqms-rbac-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:18px}.fqms-rbac-role{border:1px solid var(--fqms-border);border-radius:18px;background:#fff;padding:18px}.fqms-rbac-role h3{margin:0 0 4px}.fqms-rbac-role code{display:inline-block;margin-bottom:12px}.fqms-rbac-role .fqms-check-grid{grid-template-columns:1fr}.fqms-profile-form small{display:block;color:#64748b;margin-top:4px}

/* v1.0.32-mvp: My Account tab layout */
.fqms-module-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;border-bottom:1px solid var(--fqms-border);padding-bottom:10px}.fqms-module-tab{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--fqms-text);background:#f8fafc;border:1px solid var(--fqms-border);border-radius:999px;padding:9px 14px;font-weight:700}.fqms-module-tab:hover{background:#eef2ff}.fqms-module-tab.is-active{background:var(--fqms-primary);border-color:var(--fqms-primary);color:#fff}@media(max-width:640px){.fqms-module-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px}.fqms-module-tab{white-space:nowrap}}


/* FQMS Core v1.0.37 — grouped workspace navigation */
.fqms-sidebar nav{display:flex!important;flex-direction:column;gap:14px!important;padding:0 8px 16px!important;overflow-y:auto;min-height:0}
.fqms-nav-group{display:grid;gap:4px}
.fqms-nav-group-toggle{appearance:none;width:100%;border:0;background:transparent;color:rgba(255,255,255,.58);padding:6px 10px 4px;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;cursor:pointer;text-align:left}
.fqms-nav-group-toggle:hover{color:#fff}
.fqms-nav-group-toggle .dashicons{font-size:15px;width:15px;height:15px;transition:transform .18s ease}
.fqms-nav-group:not(.is-open) .fqms-nav-group-toggle .dashicons{transform:rotate(-90deg)}
.fqms-nav-group-items{display:grid;gap:3px}
.fqms-nav-group:not(.is-open) .fqms-nav-group-items{display:none}
.fqms-sidebar .fqms-nav-item{border-radius:10px!important;min-height:42px!important;padding:0 12px!important;font-size:14px!important;transition:background .16s ease,color .16s ease}
.fqms-sidebar .fqms-nav-item:hover{background:rgba(255,255,255,.09)}
.fqms-sidebar .fqms-nav-item.is-active{box-shadow:0 8px 18px rgba(15,23,42,.18)}
.fqms-sidebar.fqms-sidebar-collapsed nav{padding:0 8px!important;gap:8px!important}
.fqms-sidebar.fqms-sidebar-collapsed .fqms-nav-group-toggle{display:none}
.fqms-sidebar.fqms-sidebar-collapsed .fqms-nav-group-items{display:grid!important;gap:4px}
.fqms-sidebar.fqms-sidebar-collapsed .fqms-nav-group{gap:0}
@media(max-width:980px){.fqms-sidebar nav{padding-bottom:24px!important}.fqms-nav-group-toggle{padding-top:10px}}


/* FQMS Core v1.0.40 — shared workspace heading hierarchy
   Owner: Core design system. Reuse: all frontend Admin and QA add-on workspaces.
   Purpose: keep module and primary section headings calm, centered and consistent.
*/
.fqms-main .fqms-workspace>h1,
.fqms-main .fqms-production-checks-module .fqms-addon-header>h1,
.fqms-main .fqms-nc>.fqms-card:first-child>h1,
.fqms-main .fqms-ar-hero>h2{
  margin:0 0 12px!important;
  text-align:center!important;
  color:#102a43!important;
  font-size:clamp(1.35rem,2vw,1.85rem)!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.018em!important;
  font-variant-caps:small-caps!important;
}
.fqms-main .fqms-production-checks-module .fqms-addon-header>p,
.fqms-main .fqms-ar-hero>p{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
/* Primary workspace panels use the same restrained heading scale. */
.fqms-main .fqms-workspace>.fqms-card>h2,
.fqms-main .fqms-production-checks-module .fqms-pc-section-head>h2,
.fqms-main .fqms-production-checks-module .fqms-pc-start-panel>h2,
.fqms-main .fqms-nc>.fqms-card>h2,
.fqms-main .fqms-ar-dashboard h3,
.fqms-main .fqms-ar-section-head h3{
  margin:0 0 10px!important;
  text-align:center!important;
  color:#102a43!important;
  font-size:clamp(1.2rem,1.65vw,1.5rem)!important;
  line-height:1.28!important;
  font-weight:700!important;
  letter-spacing:.014em!important;
  font-variant-caps:small-caps!important;
}
/* Supporting section headings remain visibly subordinate to workspace and panel titles. */
.fqms-main .fqms-workspace>.fqms-card>h3,
.fqms-main .fqms-nc>.fqms-card>h3{
  margin:0 0 8px!important;
  text-align:center!important;
  color:#183b56!important;
  font-size:clamp(1.02rem,1.35vw,1.2rem)!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:.012em!important;
  font-variant-caps:small-caps!important;
}
@media(max-width:640px){
  .fqms-main .fqms-workspace>h1,
  .fqms-main .fqms-production-checks-module .fqms-addon-header>h1,
  .fqms-main .fqms-nc>.fqms-card:first-child>h1,
  .fqms-main .fqms-ar-hero>h2{font-size:1.35rem!important}
}


/* FQMS Core v1.0.42 — frontend add-on design-system compatibility layer
   Owner: Core Design System.
   Purpose: normalize legacy add-on markup inside frontend Admin and QA workspaces.
   Scope: titles, tab navigation, forms, buttons, messages, and responsive tables.
   Add-ons retain domain ownership; Core owns reusable visual contracts.
*/
.fqms-main .fqms-addon-compat{
  width:100%;
  box-sizing:border-box;
}
/* Calm, centered title hierarchy for add-ons that still render direct WordPress-style headings. */
.fqms-main .fqms-addon-compat > h1,
.fqms-main .fqms-addon-compat > h2,
.fqms-main .fqms-addon-compat > h3,
.fqms-main .fqms-addon-compat > .wrap > h1,
.fqms-main .fqms-addon-compat > .wrap > h2,
.fqms-main .fqms-addon-compat > .wrap > h3{
  color:#102a43!important;
  text-align:center!important;
  font-variant-caps:small-caps!important;
  letter-spacing:.018em!important;
  line-height:1.24!important;
  font-weight:720!important;
}
.fqms-main .fqms-addon-compat > h1,
.fqms-main .fqms-addon-compat > .wrap > h1{
  font-size:clamp(1.45rem,2.1vw,1.95rem)!important;
  margin:0 auto 10px!important;
  max-width:920px;
}
.fqms-main .fqms-addon-compat > h2,
.fqms-main .fqms-addon-compat > .wrap > h2{
  font-size:clamp(1.18rem,1.6vw,1.45rem)!important;
  margin:24px auto 12px!important;
  max-width:920px;
}
.fqms-main .fqms-addon-compat > h3,
.fqms-main .fqms-addon-compat > .wrap > h3{
  font-size:clamp(1rem,1.28vw,1.15rem)!important;
  margin:18px auto 8px!important;
  max-width:920px;
}
.fqms-main .fqms-addon-compat > p,
.fqms-main .fqms-addon-compat > .wrap > p{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
/* Convert WordPress nav tabs to one predictable responsive horizontal workspace tab bar. */
.fqms-main .fqms-addon-compat .nav-tab-wrapper,
.fqms-main .fqms-addon-compat .fqms-module-tabs{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:18px 0 22px!important;
  padding:6px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  border:1px solid var(--fqms-border)!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  box-shadow:0 6px 18px rgba(15,23,42,.04)!important;
}
.fqms-main .fqms-addon-compat .nav-tab-wrapper::after{display:none!important}
.fqms-main .fqms-addon-compat .nav-tab-wrapper .nav-tab,
.fqms-main .fqms-addon-compat .fqms-module-tab{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:9px 14px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#29445f!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
.fqms-main .fqms-addon-compat .nav-tab-wrapper .nav-tab:hover,
.fqms-main .fqms-addon-compat .fqms-module-tab:hover{
  background:#e8eef7!important;
  color:#102a43!important;
}
.fqms-main .fqms-addon-compat .nav-tab-wrapper .nav-tab-active,
.fqms-main .fqms-addon-compat .fqms-module-tab.is-active{
  border-color:var(--fqms-primary)!important;
  background:var(--fqms-primary)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(15,118,110,.22)!important;
}
/* Frontend-safe forms for add-ons that still use wp-admin form-table markup. */
.fqms-main .fqms-addon-compat .form-table{
  width:100%!important;
  max-width:960px!important;
  margin:0 auto 18px!important;
  border:1px solid var(--fqms-border)!important;
  border-radius:16px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}
.fqms-main .fqms-addon-compat .form-table th,
.fqms-main .fqms-addon-compat .form-table td{
  padding:15px 18px!important;
  vertical-align:top!important;
  border-bottom:1px solid #edf2f7!important;
}
.fqms-main .fqms-addon-compat .form-table tr:last-child th,
.fqms-main .fqms-addon-compat .form-table tr:last-child td{border-bottom:0!important}
.fqms-main .fqms-addon-compat .form-table th{width:220px!important;color:#183b56!important;font-size:13px!important;font-weight:750!important}
.fqms-main .fqms-addon-compat .form-table input[type="text"],
.fqms-main .fqms-addon-compat .form-table input[type="number"],
.fqms-main .fqms-addon-compat .form-table input[type="date"],
.fqms-main .fqms-addon-compat .form-table input[type="datetime-local"],
.fqms-main .fqms-addon-compat .form-table input[type="file"],
.fqms-main .fqms-addon-compat .form-table select,
.fqms-main .fqms-addon-compat .form-table textarea,
.fqms-main .fqms-addon-compat .regular-text,
.fqms-main .fqms-addon-compat .large-text{
  width:100%!important;
  max-width:100%!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  border:1px solid #cfd9e6!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#102a43!important;
  padding:10px 12px!important;
  box-shadow:none!important;
}
.fqms-main .fqms-addon-compat textarea{min-height:110px!important;resize:vertical!important}
.fqms-main .fqms-addon-compat .description{display:block!important;margin:7px 0 0!important;color:#64748b!important;font-size:12px!important;line-height:1.45!important}
/* Buttons and notices use the frontend design tokens rather than wp-admin defaults. */
.fqms-main .fqms-addon-compat .button,
.fqms-main .fqms-addon-compat .button.button-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  border:0!important;
  border-radius:10px!important;
  padding:9px 14px!important;
  background:var(--fqms-primary)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:0 6px 14px rgba(15,118,110,.18)!important;
}
.fqms-main .fqms-addon-compat .button:not(.button-primary){background:#e8eef7!important;color:#183b56!important;box-shadow:none!important}
.fqms-main .fqms-addon-compat .notice{margin:14px 0!important;border-radius:12px!important;border:1px solid #fed7aa!important;box-shadow:none!important}
/* Responsive data tables. JS adds the table wrapper when legacy markup lacks one. */
.fqms-main .fqms-addon-compat .fqms-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--fqms-border);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.045)}
.fqms-main .fqms-addon-compat table.widefat,
.fqms-main .fqms-addon-compat table.wp-list-table{
  width:100%!important;
  min-width:760px!important;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
  box-shadow:none!important;
}
.fqms-main .fqms-addon-compat table.widefat th,
.fqms-main .fqms-addon-compat table.widefat td,
.fqms-main .fqms-addon-compat table.wp-list-table th,
.fqms-main .fqms-addon-compat table.wp-list-table td{
  padding:13px 14px!important;
  border-bottom:1px solid #edf2f7!important;
  vertical-align:top!important;
  color:#243b53!important;
  font-size:13px!important;
  line-height:1.42!important;
}
.fqms-main .fqms-addon-compat table.widefat th,
.fqms-main .fqms-addon-compat table.wp-list-table th{background:#f8fafc!important;color:#486581!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-weight:800!important}
.fqms-main .fqms-addon-compat table.widefat tr:last-child td,
.fqms-main .fqms-addon-compat table.wp-list-table tr:last-child td{border-bottom:0!important}
.fqms-main .fqms-addon-compat code{font-size:12px!important;overflow-wrap:anywhere}
@media(max-width:700px){
  .fqms-main .fqms-addon-compat .form-table,.fqms-main .fqms-addon-compat .form-table tbody,.fqms-main .fqms-addon-compat .form-table tr,.fqms-main .fqms-addon-compat .form-table th,.fqms-main .fqms-addon-compat .form-table td{display:block!important;width:100%!important;box-sizing:border-box!important}
  .fqms-main .fqms-addon-compat .form-table th{padding-bottom:5px!important;border-bottom:0!important}
  .fqms-main .fqms-addon-compat .form-table td{padding-top:5px!important}
  .fqms-main .fqms-addon-compat .nav-tab-wrapper{margin-bottom:18px!important}
}

/* v1.0.43: Do not turn semantic emphasis in operational forms/tables into dashboard metrics. */
.fqms-main .fqms-card table strong,
.fqms-main .fqms-card form strong,
.fqms-main .fqms-card .fqms-control-label,
.fqms-main .fqms-card .fqms-record-meta strong{
  display:inline!important;
  margin:0!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:700!important;
  letter-spacing:normal!important;
  font-variant-caps:normal!important;
}
/* Consistent operational heading scale. */
.fqms-main .fqms-workspace > .fqms-card > h2,
.fqms-main .fqms-workspace .fqms-card > h2{
  font-size:clamp(1.15rem,1.45vw,1.42rem)!important;
  line-height:1.25!important;
}
.fqms-main .fqms-workspace .fqms-card > h3{
  font-size:clamp(1rem,1.2vw,1.16rem)!important;
  line-height:1.3!important;
}

/* FQMS Core v1.0.45 — operational record-list contract
   Owner: Core design system. Add-ons may opt into .fqms-record-list for
   high-density operational records. This prevents narrow columns and
   vertical character wrapping in Admin and QA workspaces. */
.fqms-main .fqms-records-panel{padding:22px!important}
.fqms-main .fqms-records-panel .fqms-section-header{margin-bottom:18px!important}
.fqms-main .fqms-records-panel .fqms-section-header h2{margin:0 0 6px!important;text-align:left!important;font-variant-caps:normal!important;letter-spacing:normal!important}
.fqms-main .fqms-record-list{display:grid;gap:12px;max-width:100%}
.fqms-main .fqms-record-card{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:18px;align-items:center;padding:17px 18px;border:1px solid #dbe5f0;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.035);min-width:0}
.fqms-main .fqms-record-card__main{min-width:0}
.fqms-main .fqms-record-card__eyebrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.fqms-main .fqms-record-card code{display:inline-flex;align-items:center;min-height:25px;padding:3px 7px;border-radius:7px;background:#eef6ff;color:#174a71;font-size:12px!important;font-weight:750;white-space:nowrap}
.fqms-main .fqms-record-card h3{margin:0 0 12px!important;color:#102a43!important;font-size:clamp(1rem,1.25vw,1.18rem)!important;line-height:1.3!important;text-align:left!important;font-variant-caps:normal!important;letter-spacing:normal!important;overflow-wrap:anywhere}
.fqms-main .fqms-record-card__meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
.fqms-main .fqms-record-card__meta div{min-width:0}
.fqms-main .fqms-record-card__meta dt,.fqms-main .fqms-record-card__label{margin:0 0 3px;color:#627d98;font-size:11px!important;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.055em}
.fqms-main .fqms-record-card__meta dd{margin:0;color:#243b53;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.fqms-main .fqms-record-card__side{display:grid;justify-items:start;gap:7px;align-content:center;min-width:0;padding-left:18px;border-left:1px solid #e4ebf3}
.fqms-main .fqms-record-card__result{color:#102a43!important;font-size:15px!important;line-height:1.25!important;font-variant-caps:normal!important;letter-spacing:normal!important}
.fqms-main .fqms-status-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#eaf1fb;color:#31587c;font-size:11px!important;font-weight:750;white-space:nowrap}
.fqms-main .fqms-status-chip.is-draft,.fqms-main .fqms-status-chip.is-returned{background:#fff5d6;color:#875f00}
.fqms-main .fqms-status-chip.is-submitted,.fqms-main .fqms-status-chip.is-pending{background:#e7f0ff;color:#2458a6}
.fqms-main .fqms-status-chip.is-approved,.fqms-main .fqms-status-chip.is-released{background:#e5f7eb;color:#1e6c3b}
.fqms-main .fqms-status-chip.is-rejected,.fqms-main .fqms-status-chip.is-denied,.fqms-main .fqms-status-chip.is-hold{background:#fdeaea;color:#a12828}
/* Global fallback: legacy wide tables must scroll in one horizontal plane; they may never shrink columns into stacked characters. */
.fqms-main .fqms-addon-compat .fqms-table-wrap{min-width:0!important;max-width:100%!important}
.fqms-main .fqms-addon-compat table.widefat,.fqms-main .fqms-addon-compat table.wp-list-table{table-layout:auto!important}
.fqms-main .fqms-addon-compat table.widefat th,.fqms-main .fqms-addon-compat table.widefat td,.fqms-main .fqms-addon-compat table.wp-list-table th,.fqms-main .fqms-addon-compat table.wp-list-table td{word-break:normal!important;overflow-wrap:normal!important}
@media(max-width:920px){.fqms-main .fqms-record-card{grid-template-columns:1fr}.fqms-main .fqms-record-card__side{grid-template-columns:1fr auto;justify-items:start;padding:14px 0 0;border-left:0;border-top:1px solid #e4ebf3}.fqms-main .fqms-record-card__side .fqms-btn{grid-column:2;grid-row:1 / span 2;align-self:center}}
@media(max-width:640px){.fqms-main .fqms-records-panel{padding:16px!important}.fqms-main .fqms-record-card{padding:15px}.fqms-main .fqms-record-card__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.fqms-main .fqms-record-card__side{grid-template-columns:1fr}.fqms-main .fqms-record-card__side .fqms-btn{grid-column:auto;grid-row:auto;width:100%;box-sizing:border-box;text-align:center}}

/* FQMS v1.0.49 — Settings-safe sidebar collapse control. */
.fqms-sidebar-collapse-wide{position:relative!important;z-index:5!important;pointer-events:auto!important;touch-action:manipulation!important}
.fqms-admin.fqms-sidebar-collapsed,.fqms-frontend.fqms-sidebar-collapsed{grid-template-columns:92px minmax(0,1fr)!important}
.fqms-admin.fqms-sidebar-collapsed .fqms-main,.fqms-frontend.fqms-sidebar-collapsed .fqms-main{min-width:0!important}
.fqms-admin.fqms-sidebar-collapsed .fqms-sidebar-collapse-wide,.fqms-frontend.fqms-sidebar-collapsed .fqms-sidebar-collapse-wide{pointer-events:auto!important}

/* Core v1.0.50: QA-to-Manage conditional action. */
.fqms-main > header .fqms-header-actions{display:flex;align-items:center;gap:.65rem;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.fqms-main > header .fqms-header-actions .fqms-btn-secondary{background:transparent;color:var(--fqms-primary);border:1px solid color-mix(in srgb,var(--fqms-primary) 38%,#fff)}@media(max-width:700px){.fqms-main > header .fqms-header-actions{width:100%;justify-content:flex-start}.fqms-main > header{flex-wrap:wrap}}

/* v1.0.52: Role-aware operational dashboard. */
.fqms-dashboard-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#ffffff,#f8fafc);border:1px solid var(--fqms-border);border-radius:18px;padding:22px 24px;margin:0 0 18px;box-shadow:var(--fqms-shadow)}
.fqms-dashboard-intro h2{margin:2px 0 8px;font-size:24px;line-height:1.2;color:var(--fqms-text)}
.fqms-dashboard-intro p{margin:0;color:var(--fqms-muted);max-width:720px}
.fqms-eyebrow{font-size:11px!important;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--fqms-primary)!important}
.fqms-dashboard-date{border:1px solid var(--fqms-border);border-radius:999px;padding:9px 12px;font-size:13px;font-weight:700;white-space:nowrap;color:var(--fqms-muted);background:#fff}
.fqms-ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 22px}
.fqms-ops-card{display:flex;flex-direction:column;gap:8px;min-width:0;text-decoration:none;background:var(--fqms-panel);border:1px solid var(--fqms-border);border-radius:16px;padding:18px;box-shadow:var(--fqms-shadow);color:var(--fqms-text);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.fqms-ops-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.10);border-color:var(--fqms-primary)}
.fqms-ops-card-label{font-size:13px;font-weight:750;color:var(--fqms-muted);line-height:1.3}
.fqms-ops-card strong{font-size:30px!important;line-height:1;margin:2px 0;color:var(--fqms-text)}
.fqms-ops-card small{font-size:12px;line-height:1.45;color:var(--fqms-muted);min-height:34px}
.fqms-ops-card-link{font-size:12px;font-weight:800;color:var(--fqms-primary);margin-top:4px}
.fqms-ops-card--critical{border-left:4px solid #dc2626}.fqms-ops-card--attention{border-left:4px solid #d97706}.fqms-ops-card--neutral{border-left:4px solid var(--fqms-primary)}
.fqms-dashboard-actions{background:var(--fqms-panel);border:1px solid var(--fqms-border);border-radius:16px;padding:18px 20px;box-shadow:var(--fqms-shadow)}
.fqms-dashboard-actions h2{font-size:18px!important;margin:0 0 14px!important;text-align:left!important;letter-spacing:normal!important;font-variant:normal!important;text-transform:none!important}
.fqms-dashboard-action-list{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1180px){.fqms-ops-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.fqms-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fqms-dashboard-intro{flex-direction:column}.fqms-dashboard-date{align-self:flex-start}}
@media(max-width:560px){.fqms-ops-grid{grid-template-columns:1fr}.fqms-dashboard-intro{padding:18px}.fqms-dashboard-intro h2{font-size:21px}.fqms-dashboard-action-list{display:grid;grid-template-columns:1fr}.fqms-dashboard-action-list .fqms-btn{text-align:center}}


/* FQMS Core v1.0.53 — mobile layout contract
   Owner: Core design system. Purpose: prevent clipping, oversized hierarchy,
   unstable tabs, and compressed operational tables across all add-ons. */
:root{--fqms-mobile-gutter:14px}
html,body{max-width:100%;overflow-x:hidden}
.fqms-admin,.fqms-frontend,.fqms-main,.fqms-workspace,.fqms-addon-compat{min-width:0;max-width:100%;box-sizing:border-box}
.fqms-main{overflow-x:hidden}
.fqms-main .fqms-workspace,.fqms-main .fqms-addon-compat{padding-inline:0}
.fqms-main .fqms-workspace>h1,
.fqms-main .fqms-workspace>.fqms-card>h1,
.fqms-main .fqms-addon-compat>h1{max-width:100%;overflow-wrap:anywhere}
.fqms-main .fqms-workspace .fqms-card,
.fqms-main .fqms-addon-compat .fqms-card{min-width:0;box-sizing:border-box}
/* All add-on tab bars use one horizontal scroll plane on phones. */
.fqms-main .fqms-workspace .fqms-module-tabs,
.fqms-main .fqms-workspace .nav-tab-wrapper,
.fqms-main .fqms-workspace .fqms-tabs-horizontal,
.fqms-main .fqms-addon-compat .fqms-module-tabs,
.fqms-main .fqms-addon-compat .nav-tab-wrapper{max-width:100%;box-sizing:border-box}
/* Never allow generic operational tables to squash text column-by-column. */
.fqms-main .fqms-workspace .fqms-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.fqms-main .fqms-workspace table.fqms-table{min-width:720px;table-layout:auto}
.fqms-main .fqms-workspace table.fqms-table th,
.fqms-main .fqms-workspace table.fqms-table td{white-space:normal;word-break:normal;overflow-wrap:normal;vertical-align:top}
/* Domain add-ons can opt into compact cards instead of tables. */
.fqms-mobile-card-list{display:grid;gap:12px}
.fqms-mobile-card{background:#fff;border:1px solid var(--fqms-border,#dce5ef);border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.045);min-width:0}
.fqms-mobile-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.fqms-mobile-card__title{font-size:16px;line-height:1.35;font-weight:750;color:#132b45;overflow-wrap:anywhere}
.fqms-mobile-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}
.fqms-mobile-card__meta div{min-width:0}
.fqms-mobile-card__meta span{display:block;font-size:11px;line-height:1.25;text-transform:uppercase;letter-spacing:.055em;color:#64748b;font-weight:800;margin-bottom:3px}
.fqms-mobile-card__meta strong{display:block;font-size:13px;line-height:1.35;color:#20384f;font-weight:650;overflow-wrap:anywhere}
.fqms-mobile-card__footer{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:14px;padding-top:13px;border-top:1px solid #e6edf5;flex-wrap:wrap}
.fqms-status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#eef4ff;color:#285fae;font-size:12px;font-weight:750;line-height:1.1;white-space:nowrap}
@media(max-width:700px){
  .fqms-main{padding:var(--fqms-mobile-gutter)!important}
  .fqms-main>header{margin-bottom:14px!important;gap:10px!important}
  .fqms-main>header h1{font-size:clamp(22px,7vw,29px)!important;line-height:1.18!important;min-width:0}
  .fqms-main .fqms-workspace>h1,
  .fqms-main .fqms-workspace>.fqms-card>h1,
  .fqms-main .fqms-addon-compat>h1{font-size:clamp(21px,6.8vw,28px)!important;line-height:1.2!important;letter-spacing:.04em!important}
  .fqms-main .fqms-workspace>.fqms-card>h2,
  .fqms-main .fqms-workspace .fqms-card>h2,
  .fqms-main .fqms-addon-compat h2{font-size:clamp(19px,5.5vw,24px)!important;line-height:1.26!important;letter-spacing:.035em!important}
  .fqms-main .fqms-workspace .fqms-card>h3,
  .fqms-main .fqms-addon-compat h3{font-size:clamp(17px,4.8vw,21px)!important;line-height:1.3!important;letter-spacing:.025em!important}
  .fqms-main .fqms-workspace .fqms-card,
  .fqms-main .fqms-addon-compat .fqms-card{padding:16px!important;border-radius:16px!important}
  .fqms-main .fqms-workspace .fqms-module-tabs,
  .fqms-main .fqms-workspace .nav-tab-wrapper,
  .fqms-main .fqms-workspace .fqms-tabs-horizontal,
  .fqms-main .fqms-addon-compat .fqms-module-tabs,
  .fqms-main .fqms-addon-compat .nav-tab-wrapper{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:8px!important;padding:8px!important;scroll-snap-type:x proximity}
  .fqms-main .fqms-workspace .fqms-module-tab,
  .fqms-main .fqms-workspace .nav-tab,
  .fqms-main .fqms-workspace .fqms-tabs-horizontal>a,
  .fqms-main .fqms-addon-compat .fqms-module-tab,
  .fqms-main .fqms-addon-compat .nav-tab{flex:0 0 auto!important;white-space:nowrap!important;scroll-snap-align:start;font-size:13px!important;padding:10px 13px!important}
  .fqms-main .fqms-form-grid{grid-template-columns:1fr!important;gap:12px!important}
  .fqms-main .fqms-actions,.fqms-main .fqms-section-header{align-items:stretch!important}
  .fqms-main .fqms-actions .fqms-btn,.fqms-main .fqms-section-header .fqms-btn{width:100%;justify-content:center;text-align:center}
  .fqms-main .fqms-btn{min-height:44px}
  .fqms-mobile-card__meta{grid-template-columns:1fr}
  .fqms-mobile-card__footer .fqms-btn{width:100%;text-align:center;justify-content:center}
}


/* FQMS Core v1.0.54 — mobile sidebar drawer contract
   The mobile navigation is always an overlay drawer. It must never participate
   in normal document flow or push the workspace below it. */
@media (max-width:980px){
  .fqms-admin,
  .fqms-frontend{
    display:block!important;
    position:relative!important;
    min-height:100dvh!important;
    overflow-x:clip!important;
  }
  .fqms-admin > .fqms-sidebar,
  .fqms-frontend > .fqms-sidebar{
    display:none!important;
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(320px,86vw)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    z-index:100000!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-shadow:20px 0 52px rgba(15,23,42,.34)!important;
    transform:translateX(-104%)!important;
    transition:transform .22s ease!important;
    -webkit-overflow-scrolling:touch;
  }
  .fqms-admin.fqms-sidebar-open > .fqms-sidebar,
  .fqms-frontend.fqms-sidebar-open > .fqms-sidebar{
    display:flex!important;
    flex-direction:column!important;
    transform:translateX(0)!important;
  }
  .fqms-admin.fqms-sidebar-open::after,
  .fqms-frontend.fqms-sidebar-open::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:99999;
    background:rgba(15,23,42,.42);
    backdrop-filter:blur(1px);
  }
  .fqms-admin > .fqms-main,
  .fqms-frontend > .fqms-main{
    width:100%!important;
    min-width:0!important;
    position:relative!important;
    z-index:1!important;
  }
  .fqms-mobile-toggle{
    display:inline-grid!important;
    flex:0 0 44px!important;
    position:relative!important;
    z-index:2!important;
  }
  .fqms-sidebar-collapse-wide{
    display:none!important;
  }
  .fqms-admin.fqms-sidebar-open .fqms-sidebar-collapse-wide,
  .fqms-frontend.fqms-sidebar-open .fqms-sidebar-collapse-wide{
    display:flex!important;
    position:sticky!important;
    bottom:14px!important;
    margin-top:18px!important;
  }
  html.fqms-mobile-nav-open,
  html.fqms-mobile-nav-open body{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
}


/* FQMS Core v1.0.55 — mobile drawer reliability + record-card contract
   Owner: Core workspace shell. Scope: every Admin and QA workspace.
   Rule: phone layouts use an off-canvas drawer; primary record lists never use
   compressed multi-column tables. Legacy comparison tables are transformed into
   labelled cards automatically by the Core frontend script. */
@media (max-width:980px){
  .fqms-admin > .fqms-main > header,
  .fqms-frontend > .fqms-main > header{
    position:sticky!important;top:0!important;z-index:20!important;
    min-height:64px!important;padding:10px 0!important;background:var(--fqms-bg)!important;
  }
  .fqms-mobile-toggle{
    appearance:none!important;display:inline-grid!important;place-items:center!important;
    width:44px!important;height:44px!important;min-width:44px!important;border:0!important;
    border-radius:12px!important;background:#21418e!important;color:#fff!important;
    box-shadow:0 7px 18px rgba(15,23,42,.18)!important;touch-action:manipulation!important;
    cursor:pointer!important;
  }
  .fqms-mobile-toggle .dashicons{font-size:21px!important;width:21px!important;height:21px!important}
  .fqms-admin > .fqms-sidebar,
  .fqms-frontend > .fqms-sidebar{pointer-events:none!important;visibility:hidden!important}
  .fqms-admin.fqms-sidebar-open > .fqms-sidebar,
  .fqms-frontend.fqms-sidebar-open > .fqms-sidebar{pointer-events:auto!important;visibility:visible!important}
  .fqms-admin.fqms-sidebar-open > .fqms-main,
  .fqms-frontend.fqms-sidebar-open > .fqms-main{pointer-events:none!important}
  .fqms-admin.fqms-sidebar-open > .fqms-sidebar,
  .fqms-frontend.fqms-sidebar-open > .fqms-sidebar{pointer-events:auto!important}
}

/* All workspace record tables become labelled cards on phones. Opt out only for
   dense comparison grids by adding data-fqms-keep-table="1" to the table. */
@media (max-width:700px){
  .fqms-main .fqms-workspace table[data-fqms-mobile-cards="1"],
  .fqms-main .fqms-addon-compat table[data-fqms-mobile-cards="1"]{
    display:block!important;min-width:0!important;width:100%!important;border:0!important;background:transparent!important;
  }
  .fqms-main .fqms-workspace table[data-fqms-mobile-cards="1"] thead,
  .fqms-main .fqms-addon-compat table[data-fqms-mobile-cards="1"] thead{display:none!important}
  .fqms-main .fqms-workspace table[data-fqms-mobile-cards="1"] tbody,
  .fqms-main .fqms-addon-compat table[data-fqms-mobile-cards="1"] tbody{display:grid!important;gap:12px!important}
  .fqms-main .fqms-workspace table[data-fqms-mobile-cards="1"] tr,
  .fqms-main .fqms-addon-compat table[data-fqms-mobile-cards="1"] tr{
    display:block!important;background:#fff!important;border:1px solid #dbe5f0!important;border-radius:16px!important;
    padding:5px 14px!important;box-shadow:0 5px 16px rgba(15,23,42,.04)!important;
  }
  .fqms-main .fqms-workspace table[data-fqms-mobile-cards="1"] td,
  .fqms-main .fqms-addon-compat table[data-fqms-mobile-cards="1"] td{
    display:grid!important;grid-template-columns:minmax(106px,.8fr) minmax(0,1.2fr)!important;gap:12px!important;
    align-items:start!important;padding:11px 0!important;border:0!important;border-bottom:1px solid #edf2f7!important;
    white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;text-align:left!important;
    font-size:14px!important;line-height:1.4!important;
  }
  .fqms-main .fqms-workspace table[data-fqms-mobile-cards="1"] td:last-child,
  .fqms-main .fqms-addon-compat table[data-fqms-mobile-cards="1"] td:last-child{border-bottom:0!important}
  .fqms-main .fqms-workspace table[data-fqms-mobile-cards="1"] td::before,
  .fqms-main .fqms-addon-compat table[data-fqms-mobile-cards="1"] td::before{
    content:attr(data-fqms-label)!important;color:#627d98!important;font-size:10px!important;font-weight:850!important;
    line-height:1.25!important;text-transform:uppercase!important;letter-spacing:.06em!important;
  }
  .fqms-main .fqms-workspace table[data-fqms-mobile-cards="1"] td:empty::after,
  .fqms-main .fqms-addon-compat table[data-fqms-mobile-cards="1"] td:empty::after{content:'—';color:#94a3b8}
  .fqms-main .fqms-workspace .fqms-table-wrap:has(table[data-fqms-mobile-cards="1"]),
  .fqms-main .fqms-addon-compat .fqms-table-wrap:has(table[data-fqms-mobile-cards="1"]){overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
}


/* FQMS Core v1.0.56 — full-height workspace rail and compact mobile groups
   Owner: Core workspace shell. Problem solved: the fixed/sticky sidebar can be
   viewport-height while long workspace content continues below it. The shell
   now paints a persistent navigation rail for the complete content height.
   Mobile groups are intentionally compact inside the off-canvas drawer. */
@media (min-width:981px){
  .fqms-admin,
  .fqms-frontend{
    --fqms-sidebar-column:280px;
    align-items:stretch!important;
    background:
      linear-gradient(to right,
        var(--fqms-sidebar-bg) 0,
        var(--fqms-sidebar-bg) var(--fqms-sidebar-column),
        var(--fqms-bg) var(--fqms-sidebar-column),
        var(--fqms-bg) 100%)!important;
  }
  .fqms-admin.fqms-sidebar-collapsed,
  .fqms-frontend.fqms-sidebar-collapsed{--fqms-sidebar-column:92px}
  .fqms-admin > .fqms-sidebar,
  .fqms-frontend > .fqms-sidebar{
    align-self:stretch!important;
    min-height:100%!important;
  }
  .fqms-admin > .fqms-main,
  .fqms-frontend > .fqms-main{
    min-height:100%!important;
    background:var(--fqms-bg)!important;
  }
}

@media (max-width:980px){
  .fqms-admin > .fqms-sidebar,
  .fqms-frontend > .fqms-sidebar{
    padding:18px 14px!important;
  }
  .fqms-sidebar nav{
    gap:10px!important;
    padding:0 2px 22px!important;
  }
  .fqms-nav-group{gap:2px!important}
  .fqms-nav-group-toggle{
    padding:8px 8px 5px!important;
    font-size:9px!important;
    line-height:1.2!important;
    letter-spacing:.07em!important;
  }
  .fqms-nav-group-toggle .dashicons{
    font-size:13px!important;
    width:13px!important;
    height:13px!important;
  }
  .fqms-sidebar .fqms-nav-item{
    min-height:40px!important;
    padding:0 10px!important;
    font-size:13px!important;
    gap:10px!important;
  }
  .fqms-sidebar .fqms-nav-item .dashicons{
    font-size:18px!important;
    width:18px!important;
    height:18px!important;
  }
}
