/* FQC + Edaroh Tech identity and responsive sidebar shell. */
:root { --sidebar-width:252px; --shell-header-height:76px; --brand-cream:#f4efe3; --brand-gold:#d6a63b; }
.product-heading::before { display:none!important; }
.product-heading { min-width:0; }
.product-brand { display:flex; align-items:center; gap:11px; min-width:0; }
.product-mark { width:42px; height:42px; flex:0 0 42px; border-radius:10px; box-shadow:0 4px 14px #001c1326; }
.product-brand-copy { display:flex; flex-direction:column; min-width:0; }
.product-name { color:#fff; font-size:1.14rem; line-height:1.15; letter-spacing:-.35px; }
.product-meta { color:#d5e6de; font-size:.7rem; font-weight:500; line-height:1.35; white-space:nowrap; }
.edaroh-inline { color:#f2cc6b; font-weight:700; }
.maker-lockup { display:flex; justify-content:center; align-items:center; gap:9px; margin:22px auto 0; color:var(--muted); }
.maker-lockup.compact { justify-content:flex-start; margin:0; }
.maker-mark { width:32px; height:32px; flex:0 0 32px; border-radius:8px; }
.maker-copy { display:flex; flex-direction:column; line-height:1.25; }
.maker-copy .maker-kicker { font-size:.61rem; text-transform:uppercase; letter-spacing:.7px; color:var(--muted); }
.maker-copy strong { font-size:.76rem; color:var(--text); }

body.app-layout { min-height:100dvh; display:grid; grid-template-columns:var(--sidebar-width) minmax(0,1fr); grid-template-rows:var(--shell-header-height) minmax(0,1fr); }
body.app-layout>header { grid-column:1/-1; grid-row:1; position:sticky; top:0; z-index:1200; min-height:var(--shell-header-height); padding:12px 24px; }
body.app-layout>nav.sidebar-nav { grid-column:1; grid-row:2; position:sticky; top:var(--shell-header-height); align-self:start; width:100%; height:calc(100dvh - var(--shell-header-height)); display:flex; flex-direction:column; gap:5px; padding:16px 14px; overflow-y:auto; overflow-x:hidden; background:var(--card); border:0; border-right:1px solid var(--border); box-shadow:5px 0 24px #163c2908; }
body.app-layout>nav.sidebar-nav a { display:flex; align-items:center; gap:11px; width:100%; min-height:46px; padding:10px 12px; border:0; border-left:3px solid transparent; border-radius:10px; font-size:.86rem; }
body.app-layout>nav.sidebar-nav a.active,body.app-layout>nav.sidebar-nav a:hover { border-left-color:var(--primary); background:#edf5ef; }
.sidebar-link-icon { display:grid; place-items:center; width:29px; height:29px; flex:0 0 29px; border-radius:8px; background:var(--surface,#edf3ee); color:var(--primary); font-size:.66rem; font-weight:800; letter-spacing:-.4px; }
.sidebar-identity { display:grid; grid-template-columns:48px minmax(0,1fr); gap:11px; align-items:center; padding:7px 7px 16px; margin-bottom:8px; border-bottom:1px solid var(--border); }
.sidebar-logo-wrap { display:grid; place-items:center; width:48px; height:48px; overflow:hidden; border:1px solid var(--border); border-radius:13px; background:#fff; }
.sidebar-fqc-logo { width:100%; height:100%; object-fit:contain; }
.sidebar-identity-copy { display:flex; flex-direction:column; min-width:0; line-height:1.28; }
.sidebar-identity-copy strong { color:var(--text); font-size:.78rem; }
.sidebar-identity-copy span { color:var(--muted); font-size:.65rem; }
.sidebar-nav>.maker-lockup { margin-top:auto; padding:17px 8px 4px; border-top:1px solid var(--border); }
body.app-layout>main { grid-column:2; grid-row:2; width:100%; max-width:1300px; margin:0 auto; padding:34px 32px 64px; }
.sidebar-toggle { display:none; width:44px; height:44px; padding:0; border:1px solid #82a499; border-radius:11px; background:#ffffff12; color:#fff; font-size:1.35rem; line-height:1; }
.sidebar-overlay { display:none; }

.organization-card { display:grid; grid-template-columns:84px minmax(0,1fr) auto; align-items:center; gap:19px; padding:19px 22px; margin:-5px 0 24px; overflow:hidden; border:1px solid #c9ddce; border-radius:var(--radius); background:linear-gradient(120deg,#eaf2ec 0%,var(--card) 74%); box-shadow:var(--shadow); }
.organization-logo-wrap { display:grid; place-items:center; width:84px; height:84px; overflow:hidden; border-radius:19px; border:1px solid #d3e0d6; background:#fff; }
.organization-logo { width:100%; height:100%; object-fit:contain; }
.organization-copy { min-width:0; }
.organization-copy .organization-eyebrow { margin:0 0 4px; color:var(--primary); font-size:.62rem; font-weight:800; letter-spacing:1.1px; }
.organization-copy h2 { margin:0 0 3px; color:var(--text); font-size:1.12rem; }
.organization-copy>p:last-child { margin:0; color:var(--muted); font-size:.78rem; }
.organization-meta { display:flex; flex-direction:column; align-items:flex-end; gap:12px; padding-left:18px; border-left:1px solid var(--border); }
.organization-app { display:inline-flex; padding:5px 10px; border-radius:999px; background:var(--primary); color:#fff; font-size:.69rem; font-weight:800; }

.login-page { min-height:100dvh; background:linear-gradient(180deg,#f9fbfa 0%,#f3f7f5 100%); }
.login-page>header { justify-content:center; min-height:0; padding:clamp(62px,12vh,118px) 24px 20px; background:transparent; color:var(--text); }
.login-page>header>.tag { display:none; }
.login-page .product-brand { flex-direction:column; gap:13px; text-align:center; }
.login-page .product-mark { width:92px; height:92px; flex-basis:92px; border-radius:21px; box-shadow:0 13px 30px #0d564432; }
.login-page .product-brand-copy { align-items:center; gap:2px; }
.login-page .product-name { color:var(--primary); font-size:1.9rem; line-height:1.15; letter-spacing:-.7px; }
.login-page .product-meta { color:var(--muted); font-size:1rem; font-weight:400; }
.login-page .edaroh-inline { color:inherit; font-weight:500; }
.login-page main { width:min(100% - 32px,460px); max-width:460px!important; margin:18px auto 60px; padding:0; }
.login-page main>.card { padding:30px; overflow:visible; border-color:#e2e9e4; border-radius:22px; box-shadow:0 16px 44px #163c2914; }
.login-page main>.maker-lockup,.login-organization { display:none; }

[data-theme="dark"] body.app-layout>nav.sidebar-nav { background:var(--card); }
[data-theme="dark"] body.app-layout>nav.sidebar-nav a.active,[data-theme="dark"] body.app-layout>nav.sidebar-nav a:hover { background:var(--surface); }
[data-theme="dark"] .organization-card { background:linear-gradient(120deg,var(--surface),var(--card)); border-color:var(--border); }
[data-theme="dark"] .login-page { background:linear-gradient(180deg,var(--bg),#14251f); }

@media(max-width:820px) {
  :root { --shell-header-height:70px; }
  body.app-layout { display:block; }
  body.app-layout>header { min-height:var(--shell-header-height); display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 14px; }
  body.app-layout>header .product-heading { margin:0; }
  body.app-layout>header .product-mark { width:38px; height:38px; flex-basis:38px; }
  body.app-layout>header .product-name { font-size:1rem; }
  body.app-layout>header .product-meta { font-size:.61rem; }
  body.app-layout>header #session-bar { min-width:0; }
  .sidebar-toggle { display:grid; place-items:center; }
  body.app-layout>nav.sidebar-nav { position:fixed; inset:0 auto 0 0; z-index:1400; width:min(300px,86vw); height:100dvh; transform:translateX(-105%); transition:transform .2s ease; padding:18px 15px; box-shadow:12px 0 40px #001b1460; }
  body.sidebar-open>nav.sidebar-nav { transform:translateX(0); }
  .sidebar-overlay { position:fixed; inset:0; z-index:1350; width:100%; height:100%; margin:0; padding:0; border:0; border-radius:0; background:#041c1773; }
  body.sidebar-open>.sidebar-overlay { display:block; }
  body.sidebar-open { overflow:hidden; }
  body.app-layout>main { width:100%; max-width:none; margin:0; padding:25px 16px 48px; }
  .organization-card { grid-template-columns:70px minmax(0,1fr); gap:14px; padding:16px; }
  .organization-logo-wrap { width:70px; height:70px; border-radius:16px; }
  .organization-meta { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; padding:13px 0 0; border:0; border-top:1px solid var(--border); }
}

@media(max-width:480px) {
  body.app-layout>header .product-meta { display:none; }
  body.app-layout>header .profile-name { display:none; }
  body.app-layout>main { padding-left:14px; padding-right:14px; }
  .organization-card { grid-template-columns:58px minmax(0,1fr); }
  .organization-logo-wrap { width:58px; height:58px; border-radius:14px; }
  .organization-copy h2 { font-size:.95rem; }
  .organization-copy>p:last-child { font-size:.7rem; }
  .organization-meta .maker-kicker { display:none; }
  .login-page>header { min-height:0; padding:clamp(58px,11vh,88px) 20px 17px; }
  .login-page .product-mark { width:86px; height:86px; flex-basis:86px; border-radius:20px; }
  .login-page .product-name { font-size:1.72rem; }
  .login-page .product-meta { display:block; font-size:.95rem; }
  .login-page main { margin:16px auto 42px; }
  .login-page main>.card { padding:24px; }
}

@media(prefers-reduced-motion:reduce) { body.app-layout>nav.sidebar-nav { transition:none; } }
