:root {
  --nfio-ink: #111318;
  --nfio-shell: #0d0f13;
  --nfio-shell-2: #151820;
  --nfio-paper: #f6f3ec;
  --nfio-paper-2: #fffdfa;
  --nfio-line: rgba(17, 19, 24, .11);
  --nfio-muted: #6f746f;
  --nfio-gold: #b5965b;
  --nfio-indigo: #6668d8;
  --nfio-teal: #5c9d95;
  --nfio-danger: #a34848;
  --nfio-shadow: 0 22px 60px rgba(21, 24, 32, .09);
  --nfio-radius: 22px;
}

html:has(.nfio-app), body.nfio-desktop-os-page { margin: 0 !important; background: var(--nfio-paper); }
body.nfio-desktop-os-page header,
body.nfio-desktop-os-page footer,
body.nfio-desktop-os-page .site-header,
body.nfio-desktop-os-page .site-footer,
body.nfio-desktop-os-page #masthead,
body.nfio-desktop-os-page #colophon { display: none !important; }
body.nfio-desktop-os-page .site,
body.nfio-desktop-os-page .site-content,
body.nfio-desktop-os-page .content-area,
body.nfio-desktop-os-page main,
body.nfio-desktop-os-page article,
body.nfio-desktop-os-page .entry-content { margin: 0 !important; padding: 0 !important; max-width: none !important; width: 100% !important; }
body.nfio-desktop-os-page .entry-header { display: none !important; }

.nfio-app, .nfio-app * { box-sizing: border-box; }
.nfio-app { min-height: 100vh; display: grid; grid-template-columns: 262px 1fr; color: var(--nfio-ink); background: var(--nfio-paper); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: -.01em; }
.nfio-app button { font: inherit; }
.nfio-shell { min-height: 100vh; position: sticky; top: 0; align-self: start; height: 100vh; padding: 28px 18px 20px; display: flex; flex-direction: column; background: radial-gradient(circle at 18% 5%, rgba(102,104,216,.13), transparent 28%), linear-gradient(180deg, #11141a 0%, #0b0d11 100%); color: #f6f2e8; border-right: 1px solid rgba(255,255,255,.055); }
.nfio-brand { display: flex; gap: 12px; align-items: center; padding: 0 10px 28px; }
.nfio-brand-mark { width: 37px; height: 37px; border: 1px solid rgba(181,150,91,.48); border-radius: 12px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 3px; padding: 9px; background: rgba(255,255,255,.02); box-shadow: inset 0 0 20px rgba(181,150,91,.05); }
.nfio-brand-mark span { display: block; background: linear-gradient(180deg, #dfc68e, #9e7b3f); border-radius: 4px 4px 1px 1px; }
.nfio-brand-mark span:nth-child(1){height: 45%;}.nfio-brand-mark span:nth-child(2){height: 85%;}.nfio-brand-mark span:nth-child(3){height: 62%;}
.nfio-kicker, .nfio-eyebrow { font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--nfio-gold); }
.nfio-brand-name { margin-top: 4px; font-size: 15px; font-weight: 720; letter-spacing: -.02em; }
.nfio-nav { display: grid; gap: 6px; }
.nfio-nav-item { appearance: none; border: 0; background: transparent; color: #9da3ae; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 12px; cursor: pointer; text-align: left; transition: .18s ease; }
.nfio-nav-item svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.nfio-nav-item:hover { color: #f5f1e8; background: rgba(255,255,255,.04); }
.nfio-nav-item.is-active { color: #fffaf0; background: linear-gradient(90deg, rgba(181,150,91,.15), rgba(102,104,216,.09)); box-shadow: inset 2px 0 0 var(--nfio-gold); }
.nfio-nav-item em { font-style: normal; font-size: 11px; line-height: 20px; min-width: 20px; text-align: center; border-radius: 20px; color: #d5d8df; background: rgba(255,255,255,.08); }
.nfio-shell-bottom { margin-top: auto; display: grid; gap: 13px; }
.nfio-safety-mini { padding: 13px 12px; display: grid; grid-template-columns: 9px 1fr; gap: 10px; border: 1px solid rgba(92,157,149,.18); background: rgba(92,157,149,.06); border-radius: 14px; }
.nfio-safety-mini strong { display: block; font-size: 11px; color: #dce7e3; }.nfio-safety-mini small { display: block; margin-top: 2px; font-size: 10px; color: #7f8e8b; }
.nfio-status-dot { width: 8px; height: 8px; border-radius: 999px; background: #858995; display: inline-block; box-shadow: 0 0 0 4px rgba(133,137,149,.1); }
.nfio-status-safe { background: var(--nfio-teal); box-shadow: 0 0 0 4px rgba(92,157,149,.1); }

.nfio-main { min-width: 0; }
.nfio-topbar { min-height: 92px; padding: 24px clamp(26px,4vw,58px) 18px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--nfio-line); background: rgba(246,243,236,.88); backdrop-filter: blur(18px); position: sticky; top: 0; z-index: 20; }
.nfio-breadcrumb { font-size: 10px; font-weight: 800; letter-spacing: .13em; color: #8b8b83; }.nfio-breadcrumb span { color: var(--nfio-gold); margin: 0 6px; }
.nfio-topbar h1 { font-family: Georgia, "Times New Roman", serif; font-size: 29px; line-height: 1.1; font-weight: 500; margin: 5px 0 0; letter-spacing: -.035em; }
.nfio-top-actions { display: flex; align-items: center; gap: 9px; }
.nfio-device-pill { display: flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 650; color: #595d63; padding: 9px 13px; border-radius: 999px; background: rgba(255,255,255,.58); border: 1px solid var(--nfio-line); }
.nfio-device-pill.is-connected .nfio-status-dot { background: var(--nfio-teal); }
.nfio-icon-button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--nfio-line); background: rgba(255,255,255,.55); border-radius: 12px; cursor: pointer; }.nfio-icon-button svg{width:17px;height:17px;fill:none;stroke:#62666c;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;}
.nfio-canvas { padding: clamp(28px,4vw,54px); max-width: 1500px; margin: 0 auto; }
.nfio-view { display: none; animation: nfioFade .2s ease; }.nfio-view.is-active { display: block; } @keyframes nfioFade{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}

.nfio-hero-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(300px,.8fr); gap: 20px; }
.nfio-hero-card, .nfio-agent-card, .nfio-metric, .nfio-command-card, .nfio-policy-card, .nfio-setting-card, .nfio-empty-state, .nfio-activity-table { border: 1px solid var(--nfio-line); background: rgba(255,253,250,.82); border-radius: var(--nfio-radius); box-shadow: 0 10px 35px rgba(24,29,32,.035); }
.nfio-hero-card { padding: clamp(30px,4vw,54px); min-height: 370px; position: relative; overflow: hidden; background: radial-gradient(circle at 95% 0, rgba(102,104,216,.11), transparent 28%), radial-gradient(circle at 80% 105%, rgba(181,150,91,.14), transparent 31%), var(--nfio-paper-2); }
.nfio-hero-card:after { content:""; position:absolute; width:260px; height:260px; right:-120px; bottom:-140px; border:1px solid rgba(181,150,91,.22); border-radius:50%; box-shadow: 0 0 0 35px rgba(181,150,91,.035), 0 0 0 70px rgba(181,150,91,.025); }
.nfio-hero-card h2 { max-width: 800px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(32px,4.2vw,57px); line-height: 1.01; font-weight: 500; letter-spacing: -.055em; margin: 17px 0 20px; position:relative; z-index:1; }
.nfio-hero-card p { max-width: 760px; font-size: 15px; line-height: 1.75; color: #5b605f; position:relative; z-index:1; }.nfio-hero-card p strong { color:#272a2f; }
.nfio-hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:27px; position:relative; z-index:2; }
.nfio-primary, .nfio-secondary { appearance:none; border:0; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; min-height:43px; padding:0 17px; border-radius:12px; font-size:12px; font-weight:760; letter-spacing:.01em; transition:.17s ease; }
.nfio-primary { color:#fffaf2; background:linear-gradient(135deg,#262a35,#171a20); box-shadow:0 8px 22px rgba(17,19,24,.15); }.nfio-primary:hover{transform:translateY(-1px);box-shadow:0 11px 28px rgba(17,19,24,.2);}
.nfio-secondary { color:#4a4d51; background:transparent; border:1px solid var(--nfio-line); }.nfio-secondary:hover{background:#fff;}
.nfio-agent-card { padding: 30px; background: linear-gradient(165deg,#151921,#0f1116); color:#f6f3ec; border-color:rgba(255,255,255,.06); box-shadow:var(--nfio-shadow); }
.nfio-agent-orb { width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin-bottom:31px;background:radial-gradient(circle at 35% 30%,#9496f1,#6266d7 35%,#25304c 72%,#151921);box-shadow:0 0 45px rgba(102,104,216,.27); }.nfio-agent-orb div{width:27px;height:27px;border:1px solid rgba(255,255,255,.5);border-radius:50%;box-shadow:inset 0 0 13px rgba(255,255,255,.16);}
.nfio-agent-state {font-size:9px;letter-spacing:.18em;font-weight:800;color:#9b9ede}.nfio-agent-card h3{font-family:Georgia,serif;font-size:27px;font-weight:500;letter-spacing:-.035em;margin:10px 0 12px}.nfio-agent-card p{font-size:12.5px;line-height:1.7;color:#989fa7;margin-bottom:25px}
.nfio-trust-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid rgba(255,255,255,.07);font-size:11px;color:#8d939b}.nfio-trust-row strong{color:#dfe2e5}.nfio-trust-row .nfio-never{color:#91c0b7}
.nfio-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:42px 2px 16px}.nfio-section-head h3{font-family:Georgia,serif;font-weight:500;font-size:24px;margin:5px 0 0}.nfio-muted{font-size:11px;color:#8a8e8c}
.nfio-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.nfio-metric{padding:21px}.nfio-metric>span{display:block;font-size:11px;color:#777b78}.nfio-metric strong{display:block;font-family:Georgia,serif;font-size:34px;font-weight:500;margin:10px 0 8px}.nfio-metric small{display:block;font-size:10.5px;line-height:1.45;color:#9a9d9a}
.nfio-command-card{margin-top:15px;display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:13px;padding:15px 16px}.nfio-command-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#181b22;color:#d8c18e}.nfio-command-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.nfio-command-copy strong{font-size:12px}.nfio-command-copy span{display:block;margin-top:3px;font-size:11px;color:#8a8e8c}.nfio-command-button{border:0;border-radius:10px;padding:9px 12px;background:#eeeae2;color:#9b9b94;font-size:10.5px;font-weight:700}

.nfio-page-intro{max-width:850px;margin-bottom:30px}.nfio-page-intro h2{font-family:Georgia,serif;font-size:clamp(31px,4vw,48px);line-height:1.04;font-weight:500;letter-spacing:-.045em;margin:10px 0 13px}.nfio-page-intro p{max-width:760px;font-size:14px;line-height:1.7;color:#6e736f}
.nfio-empty-state{padding:70px 25px;text-align:center;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center}.nfio-empty-state.compact{min-height:300px}.nfio-empty-icon{width:58px;height:58px;border:1px solid var(--nfio-line);border-radius:17px;display:grid;place-items:center;background:#fbf9f4;color:#656bd0}.nfio-empty-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.nfio-empty-state h3{font-family:Georgia,serif;font-weight:500;font-size:26px;letter-spacing:-.03em;margin:19px 0 9px}.nfio-empty-state p{max-width:590px;font-size:12.5px;line-height:1.7;color:#858985;margin:0 0 20px}
.nfio-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.nfio-policy-card{padding:22px}.nfio-policy-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.nfio-policy-top h3{font-family:Georgia,serif;font-size:20px;font-weight:500;margin:0}.nfio-policy-top span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;border-radius:999px}.nfio-policy-card.allowed .nfio-policy-top span{background:rgba(92,157,149,.1);color:#4c877f}.nfio-policy-card.forbidden{background:linear-gradient(160deg,#fffdfa,#fbf5f2);border-color:rgba(163,72,72,.17)}.nfio-policy-card.forbidden .nfio-policy-top span{background:rgba(163,72,72,.08);color:var(--nfio-danger)}.nfio-policy-card p{font-size:11px;line-height:1.6;color:#838783;margin:13px 0 0}
.nfio-rule-banner{margin-top:16px;border:1px solid rgba(163,72,72,.18);background:rgba(255,253,250,.8);border-radius:var(--nfio-radius);padding:24px;display:grid;grid-template-columns:48px 1fr;gap:18px}.nfio-rule-lock{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-family:Georgia,serif;font-size:30px;color:#8f4545;background:rgba(163,72,72,.07)}.nfio-rule-banner h3{font-family:Georgia,serif;font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.025em;margin:6px 0 7px}.nfio-rule-banner p{font-size:11.5px;color:#858985;margin:0}
.nfio-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.nfio-setting-card{padding:26px}.nfio-setting-card h3{font-family:Georgia,serif;font-size:23px;font-weight:500;margin:8px 0 8px}.nfio-setting-card p{font-size:11.5px;line-height:1.65;color:#7d817e;min-height:55px}.nfio-setting-state{display:inline-flex;margin-top:13px;font-size:10px;font-weight:750;color:#666b68;background:#eeebe4;border-radius:999px;padding:7px 10px}
.nfio-activity-table{overflow:hidden}.nfio-table-head{display:grid;grid-template-columns:.8fr 1.4fr 1.5fr .7fr;gap:15px;padding:13px 18px;background:#f0ede6;border-bottom:1px solid var(--nfio-line);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#858985}.nfio-table-empty{padding:70px 20px;text-align:center;color:#939793;font-size:12px}

.nfio-modal{position:fixed;inset:0;z-index:99999;display:none;place-items:center;padding:22px}.nfio-modal.is-open{display:grid}.nfio-modal-backdrop{position:absolute;inset:0;background:rgba(7,9,12,.66);backdrop-filter:blur(9px)}.nfio-modal-card{position:relative;z-index:1;width:min(520px,100%);border-radius:26px;background:#fffdf8;border:1px solid rgba(255,255,255,.3);box-shadow:0 40px 100px rgba(0,0,0,.3);padding:36px}.nfio-modal-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border:0;border-radius:10px;background:#f1eee7;color:#747873;font-size:20px;cursor:pointer}.nfio-modal-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#151820;color:#d7bd83;margin-bottom:23px}.nfio-modal-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nfio-modal-card h2{font-family:Georgia,serif;font-weight:500;font-size:32px;line-height:1.08;letter-spacing:-.04em;margin:8px 0 12px}.nfio-modal-card>p{font-size:12.5px;line-height:1.7;color:#7b7f7c}.nfio-pair-code{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:25px 0 9px}.nfio-pair-code span{height:56px;display:grid;place-items:center;border:1px solid var(--nfio-line);border-radius:12px;background:#f6f3ec;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:23px;font-weight:700}.nfio-pair-meta{text-align:center;font-size:10px;color:#979a96;margin-bottom:17px}.nfio-full{width:100%}.nfio-modal-note{margin-top:18px;padding:13px 14px;border-radius:12px;background:rgba(92,157,149,.07);font-size:10.5px;line-height:1.55;color:#68736f}.nfio-modal-note strong{color:#4c756f}

.nfio-login-gate{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 50% 0,rgba(102,104,216,.13),transparent 35%),#0d0f13;font-family:Inter,ui-sans-serif,"Segoe UI",sans-serif}.nfio-login-card{width:min(520px,100%);padding:46px;border:1px solid rgba(255,255,255,.08);border-radius:26px;background:linear-gradient(160deg,#171a20,#101217);color:#f8f4ec;box-shadow:0 35px 100px rgba(0,0,0,.3)}.nfio-login-card .nfio-brand-mark{margin-bottom:28px}.nfio-login-card h1{font-family:Georgia,serif;font-size:39px;line-height:1.04;font-weight:500;letter-spacing:-.045em;margin:10px 0 14px}.nfio-login-card p{font-size:12.5px;line-height:1.7;color:#969ca3;margin-bottom:25px}.nfio-login-button{width:100%}
.nfio-access-denied{padding:50px;font-family:sans-serif}

@media (max-width: 1100px){.nfio-app{grid-template-columns:210px 1fr}.nfio-metric-grid{grid-template-columns:repeat(2,1fr)}.nfio-policy-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 820px){.nfio-app{display:block}.nfio-shell{height:auto;min-height:0;position:sticky;top:0;z-index:40;padding:11px 12px;display:block}.nfio-brand{padding:0 2px 10px}.nfio-brand-mark{width:32px;height:32px}.nfio-kicker{display:none}.nfio-nav{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}.nfio-nav-item{grid-template-columns:18px auto;padding:9px 10px;white-space:nowrap}.nfio-nav-item em{display:none}.nfio-shell-bottom{display:none}.nfio-topbar{top:98px;padding:16px 20px;min-height:72px}.nfio-device-pill{display:none}.nfio-canvas{padding:24px 16px 50px}.nfio-hero-grid{grid-template-columns:1fr}.nfio-agent-card{min-height:310px}.nfio-policy-grid,.nfio-settings-grid{grid-template-columns:1fr}}
@media (max-width: 560px){.nfio-brand-name{font-size:13px}.nfio-nav-item span{font-size:11px}.nfio-topbar h1{font-size:24px}.nfio-breadcrumb{font-size:8px}.nfio-hero-card{padding:29px 23px;min-height:0}.nfio-hero-card h2{font-size:36px}.nfio-hero-actions{display:grid}.nfio-primary,.nfio-secondary{width:100%}.nfio-metric-grid{grid-template-columns:1fr}.nfio-command-card{grid-template-columns:40px 1fr}.nfio-command-button{grid-column:1/-1}.nfio-policy-grid{grid-template-columns:1fr}.nfio-rule-banner{grid-template-columns:1fr}.nfio-modal-card{padding:29px 21px}.nfio-pair-code{gap:4px}.nfio-pair-code span{height:48px;font-size:19px}.nfio-table-head{display:none}}

/* v0.1.1 — hard theme isolation. The app now renders through its own template,
   but these guards make the shell resilient if a host injects wrapper styles. */
html, body.nfio-desktop-os-standalone {
  width: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
}
body.nfio-desktop-os-standalone {
  max-width: none !important;
  background: var(--nfio-paper) !important;
}
body.nfio-desktop-os-standalone > #nfio-desktop-os,
body.nfio-desktop-os-standalone .nfio-app {
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
}
body.nfio-desktop-os-standalone #wpadminbar { display: none !important; }
@media screen and (min-width: 783px) {
  html { margin-top: 0 !important; }
}
