:root {
  --nf-gold:#bea06d;
  --nf-sidebar:#686e6a;
  --nf-page:#faf9f6;
  --nf-surface:#fff;
  --nf-border:#e0ddd7;
  --nf-text:#202521;
  --nf-muted:#777b77;
  --nf-width:176px;
}
body.nf-auth{margin:0;background:var(--nf-page);color:var(--nf-text);overflow-x:hidden}
.nf-sidebar{position:fixed;z-index:100;inset:0 auto 0 0;display:flex;width:var(--nf-width);flex-direction:column;overflow-y:auto;background:var(--nf-sidebar);color:#fff}
.nf-brand{display:flex;align-items:center;gap:10px;padding:18px 15px 26px}
.nf-brand-mark{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--nf-gold);font-weight:850}
.nf-brand>div:last-child{display:grid;gap:2px}.nf-brand strong{font-size:.82rem}.nf-brand span{color:#ffffff8c;font-size:.49rem;letter-spacing:.12em}
.nf-nav{display:flex;flex:1;flex-direction:column;gap:5px;padding:0 15px 16px}
.nf-nav-link{display:flex;min-height:38px;align-items:center;padding:0 10px;border-radius:10px;color:#ffffffcc;font-size:.72rem;text-decoration:none}
.nf-nav-link:hover,.nf-nav-link.is-active{background:#ffffff24;color:#fff}
.nf-nav-spacer{min-height:84px}
.nf-account{margin:0 15px;padding:14px 0 20px;border-top:1px solid #ffffff29}.nf-account-row{display:flex;align-items:center;gap:8px}
.nf-avatar,.nf-top-avatar{display:grid;place-items:center;border-radius:50%;background:var(--nf-gold)}.nf-avatar{width:26px;height:26px;font-size:.56rem}
.nf-account-row>div:last-child{display:grid;gap:1px}.nf-account strong{font-size:.68rem}.nf-account span{color:#ffffff8c;font-size:.52rem}.nf-account>a{display:inline-block;margin-top:12px;color:#ffffffcc;font-size:.62rem;text-decoration:none}
.nf-column{min-height:100vh;margin-left:var(--nf-width)}.nf-topbar{position:sticky;z-index:60;top:0;display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:14px;padding:0 24px;border-bottom:1px solid var(--nf-border);background:#fffffff5;backdrop-filter:blur(10px)}
.nf-menu{display:none;width:42px;height:42px;place-content:center;gap:4px;border:0;background:transparent}.nf-menu span{width:22px;height:3px;border-radius:999px;background:#2d88f2}
.nf-search{display:flex;width:min(420px,45vw);min-height:32px;align-items:center;gap:8px;padding:0 11px;border:1px solid #e4e1dc;border-radius:9px;background:#f7f6f3;color:#aaa}.nf-search input{width:100%;border:0;outline:0;background:transparent;font-size:.68rem}
.nf-top-actions{display:flex;align-items:center;gap:10px}.nf-top-actions button{min-height:30px;padding:0 11px;border:1px solid #e4e1dc;border-radius:9px;background:#fff}.nf-top-avatar{width:25px;height:25px;font-size:.52rem}
.nf-main>div,.nf-main>.page{width:auto;max-width:1440px;margin:0 auto;padding:24px 24px 54px}
.nf-subnav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.nf-subnav-link{display:flex;min-height:38px;align-items:center;padding:0 14px;border:1px solid var(--nf-border);border-radius:10px;background:#fff;color:#555b56;text-decoration:none}.nf-subnav-link.is-active{border-color:var(--nf-gold);background:#f5efe4}
.nf-page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.nf-page-actions>*{min-height:42px;margin:0!important}
.nf-overlay{display:none}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-card{display:block;padding:20px;color:inherit;text-decoration:none}.settings-card h2{margin:0}.settings-card p{margin:8px 0 0;color:var(--nf-muted)}
@media(max-width:820px){
  :root{--nf-width:min(78vw,360px)}
  body.nf-menu-open{overflow:hidden}
  .nf-sidebar{width:var(--nf-width);transform:translateX(-105%);transition:transform .18s ease;box-shadow:18px 0 50px #0000003d}
  body.nf-menu-open .nf-sidebar{transform:translateX(0)}
  .nf-column{margin-left:0}
  .nf-topbar{min-height:74px;padding:0 20px}.nf-menu{display:grid}.nf-search,.nf-top-actions button{display:none}.nf-top-actions{margin-left:auto}.nf-top-avatar{width:48px;height:48px;font-size:.95rem}
  .nf-brand{padding:44px 28px 30px}.nf-brand-mark{width:54px;height:54px;border-radius:14px;font-size:1.65rem}.nf-brand strong{font-size:1.27rem}.nf-brand span{font-size:.82rem}
  .nf-nav{gap:10px;padding:14px 26px 24px}.nf-nav-link{min-height:50px;padding:0 18px;border-radius:14px;font-size:1rem}.nf-nav-spacer{min-height:110px}
  .nf-account{margin:0 26px;padding:24px 0 28px}.nf-avatar{width:42px;height:42px;font-size:.82rem}.nf-account strong{font-size:1rem}.nf-account span{font-size:.84rem}.nf-account>a{margin-top:24px;font-size:1rem}
  .nf-overlay{position:fixed;z-index:90;inset:0;background:#16191861}body.nf-menu-open .nf-overlay{display:block}
  .nf-main>div,.nf-main>.page{padding:28px 18px 50px}
  .nf-page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.nf-page-actions>*{width:100%;min-height:50px;justify-content:center}
}
@media(max-width:480px){.nf-page-actions,.settings-grid{grid-template-columns:1fr}}

/* NuFlow v1.3.11 sidebar refinement */
:root {
    --nf-width: 224px;
}

.nf-sidebar-brand,
.nf-brand {
    gap: 13px;
    padding-right: 18px;
    padding-left: 18px;
}

.nf-brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    font-size: 1rem;
}

.nf-brand-copy strong,
.nf-brand strong {
    font-size: 1rem;
}

.nf-brand-copy span,
.nf-brand span {
    font-size: 0.61rem;
    letter-spacing: 0.13em;
}

.nf-sidebar-nav,
.nf-nav {
    gap: 7px;
    padding-right: 17px;
    padding-left: 17px;
}

.nf-nav-link {
    min-height: 44px;
    padding-right: 13px;
    padding-left: 13px;
    border-radius: 11px;
    font-size: 0.88rem;
    line-height: 1.2;
}

.nf-sidebar-account,
.nf-account {
    margin-right: 17px;
    margin-left: 17px;
}

.nf-sidebar-avatar,
.nf-avatar {
    width: 34px;
    height: 34px;
    font-size: 0.72rem;
}

.nf-sidebar-account strong,
.nf-account strong {
    font-size: 0.82rem;
}

.nf-sidebar-account span,
.nf-account span {
    font-size: 0.68rem;
}

.nf-sidebar-account > a,
.nf-account > a {
    font-size: 0.76rem;
}

.nf-app-column,
.nf-column {
    margin-left: var(--nf-width);
}

@media (max-width: 820px) {
    :root {
        --nf-width: min(82vw, 380px);
    }

    .nf-sidebar-brand,
    .nf-brand {
        padding-right: 28px;
        padding-left: 28px;
    }

    .nf-brand-mark {
        width: 54px;
        height: 54px;
        font-size: 1.65rem;
    }

    .nf-brand-copy strong,
    .nf-brand strong {
        font-size: 1.27rem;
    }

    .nf-brand-copy span,
    .nf-brand span {
        font-size: 0.82rem;
    }

    .nf-sidebar-nav,
    .nf-nav {
        gap: 10px;
        padding-right: 26px;
        padding-left: 26px;
    }

    .nf-nav-link {
        min-height: 50px;
        padding-right: 18px;
        padding-left: 18px;
        font-size: 1rem;
    }

    .nf-app-column,
    .nf-column {
        margin-left: 0;
    }
}
