/*
Theme Name: Neuto Media
Theme URI: https://neutomedia.com/
Author: Neuto
Description: Premium WordPress theme for Neuto Media™ — a next-generation media studio integrated with Neuto™ Creator Passport, music rights, authorization and provenance infrastructure.
Version: 3.7.1
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: neuto-media
*/
:root{
  --n-black:#0b0c0d;--n-ink:#111315;--n-slate:#2d3237;--n-muted:#656b70;--n-faint:#8e9498;
  --n-line:#dfe2e3;--n-line-dark:#2a2d30;--n-soft:#f4f5f2;--n-soft2:#f8f8f6;--n-white:#fff;
  --n-accent:#d9ff4f;--n-green:#176b42;--n-red:#9e2c2c;--n-amber:#8b6111;--n-blue:#315f9a;
  --n-max:1320px;--n-radius:3px;--n-shadow:0 18px 55px rgba(10,14,18,.08)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--n-ink);background:var(--n-white);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.container{width:min(var(--n-max),calc(100% - 56px));margin-inline:auto}.site-main{min-height:66vh}.mono,code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}

/* header */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--n-line)}body.admin-bar .site-header{top:32px}.header-row{height:76px;display:flex;align-items:center;justify-content:space-between;gap:34px}.brand-wordmark{display:inline-flex;align-items:center;gap:11px;font-size:1rem;font-weight:760;letter-spacing:-.026em;white-space:nowrap}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:1.4px solid currentColor;border-radius:50%}.brand-mark svg{width:26px;height:26px}.brand-text{display:inline-block}.primary-nav{display:flex;align-items:center;gap:30px;font-size:.9rem}.primary-nav>li{list-style:none}.primary-nav a{position:relative;transition:opacity .18s ease}.primary-nav a:hover{opacity:.58}.nav-cta{border:1px solid var(--n-ink);padding:10px 15px;border-radius:2px}.menu-toggle{display:none;border:0;background:transparent;font-size:1.35rem;cursor:pointer}.home-signal{border-bottom:1px solid var(--n-line);background:var(--n-soft2);font-size:.69rem;letter-spacing:.11em;font-weight:760}.home-signal .container{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.home-signal a{letter-spacing:.02em;text-transform:none;font-weight:650}.home-signal a span{margin-left:6px}

/* common */
.section{padding:106px 0}.section-soft{background:var(--n-soft)}.section-dark{background:var(--n-black);color:#fff}.section-label,.eyebrow,.panel-kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:770;color:var(--n-muted)}.section-label.light,.section-dark .eyebrow{color:#8f969c}.eyebrow{margin-bottom:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 18px;border-radius:2px;border:1px solid var(--n-ink);font-weight:700;font-size:.88rem;transition:transform .18s ease,background .18s ease,color .18s ease}.btn:hover{transform:translateY(-1px)}.btn-dark{background:var(--n-ink);color:#fff}.btn-light{background:#fff;color:var(--n-ink)}.btn-ghost-dark{border-color:#444;background:transparent;color:#fff}.text-link{display:inline-flex;font-weight:700;font-size:.88rem;border-bottom:1px solid #333;padding-bottom:3px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:30px}

/* hero */
.hero{border-bottom:1px solid var(--n-line)}.hero-home{padding:110px 0 100px;overflow:hidden}.hero-grid-v2{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(430px,.78fr);gap:78px;align-items:center}.hero-copy h1{font-size:clamp(3.7rem,6.8vw,7rem);line-height:.91;letter-spacing:-.068em;margin:0 0 30px;max-width:950px;font-weight:650}.hero-lede{font-size:1.12rem;line-height:1.6;color:#4e555a;max-width:730px}.hero-footnote{display:flex;gap:22px;flex-wrap:wrap;margin-top:58px;padding-top:18px;border-top:1px solid #aeb3b6;font-size:.65rem;letter-spacing:.12em;color:#70767a;font-weight:760}
.rights-control-card{border:1px solid var(--n-ink);background:#101214;color:#fff;box-shadow:var(--n-shadow);min-height:540px;position:relative;overflow:hidden}.rights-control-card:after{content:"";position:absolute;width:260px;height:260px;right:-120px;top:-120px;border:1px solid #282c2f;border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.015),0 0 0 80px rgba(255,255,255,.01)}.rights-control-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #292d30;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.rights-control-head>div{display:flex;align-items:center;gap:6px}.console-live-dot{width:7px;height:7px;border-radius:50%;background:var(--n-accent);box-shadow:0 0 0 5px rgba(217,255,79,.07)}.console-pause{color:#7e858a;background:transparent;border:0;cursor:pointer;font-size:.68rem}.rights-record{position:relative;z-index:2;padding:26px 22px 22px}.record-tag{font-size:.62rem;letter-spacing:.14em;color:#777f84}.record-id{font-family:"SFMono-Regular",Consolas,monospace;font-size:.68rem;color:#a4aaae;margin-top:5px}.rights-record h2{font-size:2rem;letter-spacing:-.045em;margin:25px 0 3px}.rights-record p{margin:0;color:#858c91;font-size:.82rem}.rights-control-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #292d30;border-left:1px solid #292d30;margin:0 20px}.rights-control-grid>div{padding:16px;border-right:1px solid #292d30;border-bottom:1px solid #292d30;min-height:88px}.rights-control-grid span,.rights-decision>span{display:block;font-size:.58rem;letter-spacing:.13em;color:#687076;margin-bottom:8px}.rights-control-grid strong{display:block;font-size:.82rem}.rights-control-grid small{display:block;margin-top:3px;font-size:.66rem;color:#71787d}.rights-decision{position:relative;z-index:2;padding:19px 16px;margin:0 20px;border:1px solid #292d30;border-top:0}.rights-decision strong{display:block;font-size:.9rem}.rights-decision small{display:block;color:#777f84;font-size:.7rem;margin-top:3px}.console-actions{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);margin:20px;border:1px solid #292d30}.console-actions button{border:0;border-right:1px solid #292d30;background:#111416;color:#71787d;padding:12px 5px;font-size:.65rem;cursor:pointer}.console-actions button:last-child{border-right:0}.console-actions button.is-active{background:var(--n-accent);color:#111;font-weight:760}

/* narrative */
.reality-section{padding-bottom:80px}.reality-head{display:grid;grid-template-columns:1.1fr .65fr;gap:70px;margin:30px 0 70px;align-items:end}.reality-head h2,.platform-intro h2,.dark-section-intro h2,.usecase-home-head h2,.api-home h2{font-size:clamp(2.7rem,5vw,5.4rem);line-height:.96;letter-spacing:-.058em;margin:0;font-weight:620}.reality-head p,.platform-intro p,.dark-section-intro p,.api-home p{color:#5e6468;font-size:1.03rem;max-width:650px;margin:0}.reality-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--n-line);border-left:1px solid var(--n-line)}.reality-grid article{min-height:330px;padding:32px;border-right:1px solid var(--n-line);border-bottom:1px solid var(--n-line);display:flex;flex-direction:column}.reality-grid article>span{font-size:.66rem;letter-spacing:.13em;color:#777e82}.reality-grid h3{font-size:clamp(2rem,3vw,3.2rem);letter-spacing:-.045em;line-height:1.02;margin:70px 0 35px;max-width:540px;font-weight:580}.reality-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.reality-tags b{font-size:.62rem;letter-spacing:.1em;border:1px solid #bfc3c5;padding:7px 9px;font-weight:720}.gap-section{background:var(--n-soft);border-top:1px solid var(--n-line);border-bottom:1px solid var(--n-line);padding:80px 0}.gap-grid{display:grid;grid-template-columns:.28fr 1fr;gap:50px}.gap-grid blockquote{font-size:clamp(2.15rem,4.1vw,4.4rem);line-height:1.02;letter-spacing:-.052em;margin:0;max-width:1070px;font-weight:550}

/* platform */
.platform-v2{padding-bottom:0}.platform-intro{display:grid;grid-template-columns:1fr .62fr;gap:70px;align-items:end;margin:28px 0 72px}.platform-pillars{border-top:1px solid var(--n-line)}.platform-pillars article{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(300px,.7fr);gap:38px;padding:54px 0;border-bottom:1px solid var(--n-line);align-items:center}.pillar-no{font-size:.76rem;color:#81878b}.pillar-copy>span{font-size:.66rem;letter-spacing:.13em;color:#6d7377;font-weight:770}.pillar-copy h3{font-size:clamp(2rem,3.6vw,3.7rem);line-height:1;letter-spacing:-.05em;margin:10px 0 14px;font-weight:600}.pillar-copy p{color:#646a6f;max-width:670px}.pillar-copy ul{list-style:none;padding:0;margin:25px 0 0;display:flex;gap:10px;flex-wrap:wrap}.pillar-copy li{font-size:.7rem;border:1px solid #cfd3d5;padding:7px 9px}.pillar-visual{height:230px;background:var(--n-soft2);border:1px solid var(--n-line);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.identity-visual .id-ring{width:110px;height:110px;border-radius:50%;border:1px solid #858c91;display:flex;align-items:center;justify-content:center;font-family:monospace;font-weight:700;letter-spacing:.08em;position:relative;z-index:2}.identity-visual .id-ring:before,.identity-visual .id-ring:after{content:"";position:absolute;border:1px solid #d4d7d8;border-radius:50%}.identity-visual .id-ring:before{inset:-25px}.identity-visual .id-ring:after{inset:-50px}.id-lines{position:absolute;inset:0}.id-lines i{position:absolute;height:1px;background:#d1d4d5;width:44%;left:0}.id-lines i:nth-child(1){top:30%}.id-lines i:nth-child(2){top:50%}.id-lines i:nth-child(3){top:70%}.policy-visual{display:grid;grid-template-columns:1fr;padding:26px}.policy-visual div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--n-line);padding:13px 0;font-size:.68rem}.policy-visual div:last-child{border-bottom:0}.policy-visual b{font-size:.65rem;background:#fff;border:1px solid #cfd3d5;padding:6px 8px}.graph-visual{gap:10px;padding:25px}.graph-visual span{font-size:.62rem;border:1px solid #aeb4b8;background:#fff;padding:12px}.graph-visual i{height:1px;width:28px;background:#8f969b;position:relative}.graph-visual i:after{content:"";position:absolute;right:-1px;top:-3px;width:6px;height:6px;border-top:1px solid #8f969b;border-right:1px solid #8f969b;transform:rotate(45deg)}

/* workflow */
.workflow-section{padding:110px 0}.dark-section-intro{display:grid;grid-template-columns:1fr .55fr;gap:70px;margin:30px 0 58px;align-items:end}.dark-section-intro p{color:#92999e}.workflow-panel{border:1px solid var(--n-line-dark);background:#0f1113}.workflow-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--n-line-dark)}.workflow-tabs button{border:0;border-right:1px solid var(--n-line-dark);background:#0f1113;color:#7a8186;text-align:left;padding:17px 15px;cursor:pointer;font-weight:650}.workflow-tabs button span{display:block;font-size:.6rem;margin-bottom:5px;color:#555c61}.workflow-tabs button.is-active{background:var(--n-accent);color:#111}.workflow-tabs button.is-active span{color:#5b641d}.workflow-body{display:grid;grid-template-columns:.72fr 1.28fr;min-height:350px}.workflow-object{border-right:1px solid var(--n-line-dark);padding:34px;display:flex;flex-direction:column;justify-content:center}.workflow-object>span{font-size:.62rem;letter-spacing:.13em;color:#676e73;margin-bottom:22px}.workflow-object strong{font-family:monospace;font-size:clamp(1.2rem,2vw,1.8rem);font-weight:500}.workflow-object small{margin-top:18px;color:var(--n-accent);font-size:.66rem;letter-spacing:.09em}.workflow-copy{padding:38px}.workflow-copy h3{font-size:clamp(2rem,3.3vw,3.2rem);line-height:1;letter-spacing:-.048em;margin:0 0 16px;font-weight:560}.workflow-copy p{color:#939a9f;max-width:720px}.workflow-io{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}.workflow-io>div{border-top:1px solid #33373a;padding-top:12px}.workflow-io span{display:block;font-size:.58rem;letter-spacing:.12em;color:#656c71}.workflow-io strong{display:block;margin-top:8px;font-size:.77rem;font-weight:600;color:#d9dddf}

/* use cases */
.usecase-home-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:28px 0 55px}.usecase-home-head h2{max-width:850px}.usecase-preview{border-top:1px solid var(--n-line)}.usecase-preview a{display:grid;grid-template-columns:170px 1fr 40px;gap:24px;align-items:center;padding:26px 4px;border-bottom:1px solid var(--n-line);transition:padding .2s ease,background .2s ease}.usecase-preview a:hover{padding-left:16px;padding-right:16px;background:var(--n-soft2)}.usecase-preview span{font-size:.64rem;letter-spacing:.11em;color:#747b80;font-weight:760}.usecase-preview strong{font-size:1.1rem;letter-spacing:-.02em;font-weight:560}.usecase-preview em{font-style:normal;text-align:right}.api-home{background:var(--n-soft);border-top:1px solid var(--n-line)}.api-home-grid{display:grid;grid-template-columns:.8fr 1fr;gap:80px;align-items:center}.api-home h2{margin:25px 0 20px}.api-window{background:#101214;color:#d8dcde;border:1px solid #22272a;box-shadow:var(--n-shadow)}.api-window-top{display:flex;gap:14px;padding:14px 18px;border-bottom:1px solid #292e31;font-size:.68rem}.api-window-top span{background:var(--n-accent);color:#111;padding:2px 5px;font-weight:800}.api-window pre{margin:0;padding:28px;font:400 .8rem/1.8 "SFMono-Regular",Consolas,monospace;white-space:pre-wrap}.api-window pre span{color:var(--n-accent)}.closing-section-v2{background:var(--n-black);color:#fff;padding:94px 0}.closing-section-v2 .container{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end}.closing-section-v2>div>div>span{font-size:.66rem;letter-spacing:.13em;color:#777e83}.closing-section-v2 h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:.96;letter-spacing:-.058em;max-width:1000px;margin:24px 0 0;font-weight:580}

/* public pages */
.public-page-hero{padding:110px 0 90px;border-bottom:1px solid var(--n-line)}.public-page-hero h1{font-size:clamp(3.4rem,6.5vw,6.8rem);letter-spacing:-.065em;line-height:.92;margin:0 0 28px;max-width:1050px;font-weight:620}.public-page-hero p{font-size:1.1rem;color:#535a5f;max-width:800px}.section-head{display:grid;grid-template-columns:.3fr 1fr;gap:48px;margin-bottom:52px;align-items:start}.section-head h2,.about-copy h2{font-size:clamp(2.5rem,4.7vw,4.9rem);letter-spacing:-.057em;line-height:.97;margin:0 0 18px;font-weight:600}.section-head p,.about-copy p{margin:0;color:#5e6569;max-width:820px;font-size:1rem}.usecase-detail-section{padding-top:20px}.usecase-detail{display:grid;grid-template-columns:100px 1fr;gap:38px;padding:70px 0;border-bottom:1px solid var(--n-line);scroll-margin-top:100px}.usecase-no{font-size:2.8rem;letter-spacing:-.055em;color:#aab0b3}.usecase-detail h2{font-size:clamp(2.1rem,3.8vw,3.9rem);line-height:1;letter-spacing:-.05em;margin:0 0 16px;font-weight:590;max-width:920px}.usecase-detail>div>p{color:#5b6267;max-width:900px}.usecase-columns{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:36px}.usecase-columns>div{border-top:1px solid var(--n-ink);padding-top:16px}.detail-label{font-size:.64rem;letter-spacing:.12em;color:#71787d;font-weight:760}.usecase-columns ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:11px;color:#4e5559}.usecase-columns li{position:relative;padding-left:17px}.usecase-columns li:before{content:"—";position:absolute;left:0;color:#969ca0}.trust-flow,.trust-flow-short{display:grid;grid-template-columns:repeat(9,auto);gap:12px;align-items:center;margin-top:42px}.trust-node{border:1px solid #383c3f;padding:16px 18px;font-size:.72rem}.trust-arrow{color:#62686d}.about-grid{display:grid;grid-template-columns:.3fr 1fr;gap:48px}.about-copy p+p{margin-top:17px}.about-principles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--n-line);border-left:1px solid var(--n-line)}.about-principles article{padding:28px;min-height:270px;border-right:1px solid var(--n-line);border-bottom:1px solid var(--n-line)}.about-principles span{font-size:.68rem;color:#797f83}.about-principles h3{font-size:1.25rem;margin:80px 0 9px}.about-principles p{font-size:.89rem;color:#666d71;margin:0}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--n-line);border-left:1px solid var(--n-line)}.scope-grid>div{padding:27px;min-height:160px;border-right:1px solid var(--n-line);border-bottom:1px solid var(--n-line)}.scope-grid span{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.11em;color:#737a7f;margin-bottom:34px}.scope-grid strong{font-size:1rem;font-weight:600}.page-wrap{padding:76px 0}.page-wrap h1{font-size:clamp(2.8rem,5.2vw,5.2rem);letter-spacing:-.058em;line-height:.96;margin:0 0 30px}.entry-content{max-width:900px}.entry-content p{font-size:1.03rem;color:#50575b}

/* footer */
.site-footer{border-top:1px solid var(--n-line);padding:58px 0 30px;background:#f9f9f7}.footer-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:44px}.footer-position{color:#636a6e;max-width:390px;margin-top:18px;font-size:.9rem}.footer-title{font-weight:700;font-size:.8rem;margin-bottom:14px}.footer-links{display:grid;gap:9px;font-size:.87rem;color:#5d6468}.footer-links a:hover{color:#111}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--n-line);margin-top:42px;padding-top:20px;color:#797f83;font-size:.78rem}

/* portal shell */
body.page-template-default .portal-shell{background:#f4f5f3}.portal-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:calc(100vh - 76px);background:#f4f5f3}.portal-sidebar{border-right:1px solid #24282b;padding:0;background:#111315;color:#fff;position:sticky;top:76px;height:calc(100vh - 76px);overflow:auto;z-index:55}body.admin-bar .portal-sidebar{top:108px;height:calc(100vh - 108px)}.portal-sidebar-head{height:73px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #272b2e}.portal-product{display:flex;align-items:center;gap:10px}.portal-product-mark,.passport-mark{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #666d72;border-radius:50%;font-size:.7rem;font-weight:800}.portal-product strong{display:block;font-size:.82rem}.portal-product small{display:block;color:#72797e;font-size:.62rem;margin-top:1px}.portal-sidebar-close{display:none;color:#fff;background:transparent;border:0;font-size:1.4rem}.workspace-switcher{margin:18px 15px 12px;padding:13px;border:1px solid #2a2f32;background:#16191b}.workspace-label{display:block;font-size:.56rem;letter-spacing:.13em;color:#686f74;margin-bottom:8px}.workspace-switcher strong{display:block;font-size:.77rem}.workspace-switcher small{display:block;font-size:.61rem;color:#6e757a;margin-top:3px}.portal-nav{padding:0 12px 22px}.portal-nav-group{padding-top:16px}.portal-nav-label{font-size:.56rem;letter-spacing:.13em;color:#596166;padding:0 10px 7px;text-transform:uppercase}.portal-nav a{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:3px;color:#9fa6aa;font-size:.79rem;transition:background .16s,color .16s}.portal-nav a:hover{background:#191d20;color:#fff}.portal-nav a.active{background:#24292c;color:#fff}.portal-nav a.active:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--n-accent);margin-right:8px}.portal-nav a.active span:first-of-type{margin-right:auto}.portal-nav-chevron{color:#4f565a}.portal-sidebar-foot{position:sticky;bottom:0;background:#111315;border-top:1px solid #272b2e;padding:15px 20px;display:flex;align-items:center;gap:8px;font-size:.65rem;color:#747c81}.status-dot{width:7px;height:7px;border-radius:50%;background:#63c98c;display:inline-block;flex:0 0 7px}.portal-sidebar-scrim{display:none}.portal-content{padding:36px 40px 70px;min-width:0;max-width:1600px;width:100%;margin:0 auto}.portal-mobilebar{display:none}

/* portal heading */
.portal-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin:0 0 31px}.portal-breadcrumb{font-size:.58rem;letter-spacing:.13em;color:#7a8185;font-weight:760;margin-bottom:12px}.portal-title-row{display:flex;align-items:flex-end;gap:25px}.portal-title h1{font-size:2.25rem;line-height:1;letter-spacing:-.048em;margin:0 0 8px;font-weight:620}.portal-title p{margin:0;color:#676e72;font-size:.88rem;max-width:780px}.portal-head-action{margin-bottom:2px}.portal-action{display:inline-flex;align-items:center;gap:13px;border:1px solid #181b1d;background:#111315;color:#fff;min-height:38px;padding:0 13px;border-radius:2px;font-size:.75rem;font-weight:720}.portal-action span{color:var(--n-accent)}.portal-system{display:flex;align-items:center;gap:12px;padding-top:4px}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #d7dadc;border-radius:999px;font-size:.66rem;background:#fff;white-space:nowrap}.portal-sync{font-size:.63rem;color:#7a8185;white-space:nowrap}

/* portal metrics + panels */
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{border:1px solid #dcdfe0;background:#fff;padding:18px;min-height:150px}.metric-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-label{font-size:.69rem;color:#646b6f;font-weight:650}.metric-code{font-size:.57rem;letter-spacing:.09em;color:#9ba0a3}.metric-value{font-size:2.4rem;line-height:1;margin-top:28px;letter-spacing:-.055em;font-weight:560}.metric-value.metric-text{font-size:1.7rem}.metric-sub{font-size:.67rem;color:#858b8f;margin-top:5px}.metric-rule{height:2px;background:#eef0f0;margin-top:18px}.metric-rule i{display:block;height:100%;background:#202427}.panel{border:1px solid #dcdfe0;background:#fff;margin-top:14px;overflow:hidden}.panel-head{min-height:66px;padding:14px 18px;border-bottom:1px solid #e1e3e4;display:flex;align-items:center;justify-content:space-between;gap:18px}.panel-head h2{font-size:.93rem;margin:2px 0 0;letter-spacing:-.02em}.panel-head>span,.panel-head>a{font-size:.64rem;color:#767d81}.panel-kicker{font-size:.55rem;color:#8a9094}.panel-body{padding:20px}.portal-dashboard-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:14px}.posture-body{padding:16px 18px}.posture-row{display:grid;grid-template-columns:160px 1fr 42px;gap:15px;align-items:center;padding:11px 0;border-bottom:1px solid #eceeee}.posture-row:last-child{border-bottom:0}.posture-row strong{display:block;font-size:.75rem}.posture-row span{display:block;font-size:.61rem;color:#8b9195}.posture-track{height:5px;background:#eceeee}.posture-track i{display:block;height:100%;background:#666}.posture-track i.ok{background:#4e8c68}.posture-track i.warn{background:#b49554}.posture-track i.info{background:#6984a8}.posture-track i.no{background:#aa6262}.posture-row b{font-size:.66rem;text-align:right}.queue-list{display:grid}.queue-item{display:grid;grid-template-columns:28px 1fr 30px 22px;gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid #eceeee}.queue-item:last-child{border-bottom:0}.queue-item:hover{background:#fafbf9}.queue-index{font-size:.58rem;color:#9aa0a3}.queue-item strong{display:block;font-size:.76rem}.queue-item small{display:block;color:#8a9094;font-size:.61rem}.queue-item b{font-size:.78rem}.queue-arrow{color:#7f868a}.empty-state{padding:50px 22px;text-align:center;color:#646b6f}.empty-state strong{display:block;color:#25292c;margin-bottom:4px}.empty-state p{font-size:.8rem}.empty-icon{display:flex;margin:0 auto 12px;width:34px;height:34px;border:1px solid #d5d8da;align-items:center;justify-content:center;border-radius:50%}

/* portal tables */
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.76rem}.data-table th,.data-table td{text-align:left;padding:12px 16px;border-bottom:1px solid #eceeee;vertical-align:middle;white-space:nowrap}.data-table th{font-size:.57rem;text-transform:uppercase;letter-spacing:.1em;color:#7d8488;background:#fafbf9;font-weight:760}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafbf9}.cell-sub{font-size:.62rem;color:#8b9296;margin-top:3px}.badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.58rem;font-weight:760;border:1px solid #d8dbdc;letter-spacing:.02em}.badge.ok{color:var(--n-green);background:#f1f8f4;border-color:#d1e5d8}.badge.warn{color:var(--n-amber);background:#fff8e9;border-color:#ead9b4}.badge.no{color:var(--n-red);background:#fff4f4;border-color:#ebcaca}.badge.info{color:var(--n-blue);background:#f2f5fa;border-color:#d4dfec}.mono{font-size:.68rem}.panel-tools{display:flex;align-items:center;gap:12px}.table-search{display:flex;align-items:center;gap:7px;border:1px solid #d6dadd;background:#fff;padding:0 9px;height:32px}.table-search input{border:0;outline:0;width:150px;font-size:.7rem;background:transparent}.table-search span{color:#8b9296}.asset-name{display:flex;align-items:center;gap:10px}.asset-icon{width:28px;height:28px;border:1px solid #d6dadd;background:#f8f9f7;display:flex;align-items:center;justify-content:center}.asset-name strong{display:block}.asset-name small{display:block;color:#8a9195;font-size:.61rem;margin-top:2px}.catalog-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dcdfe0;background:#fff}.catalog-summary>div{padding:14px 18px;border-right:1px solid #e3e5e6}.catalog-summary>div:last-child{border-right:0}.catalog-summary span{display:block;font-size:.56rem;letter-spacing:.09em;color:#858c90}.catalog-summary strong{display:block;font-size:1.5rem;letter-spacing:-.04em;margin-top:8px}.policy-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.policy-status-grid>div{border:1px solid #dcdfe0;background:#fff;padding:14px;display:grid;grid-template-columns:8px 1fr;column-gap:10px}.policy-status-dot{width:7px;height:7px;border-radius:50%;margin-top:5px}.policy-status-dot.ok{background:#4e8c68}.policy-status-dot.warn{background:#b49554}.policy-status-dot.info{background:#6984a8}.policy-status-dot.no{background:#aa6262}.policy-status-grid strong{font-size:1.15rem;line-height:1}.policy-status-grid small{grid-column:2;color:#7c8387;font-size:.62rem;margin-top:3px}

/* authorization */
.decision-banner{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px;padding:15px 18px;border:1px solid #dcdfe0;background:#fff;margin-bottom:14px}.decision-banner.ok{border-left:3px solid #4e8c68}.decision-banner.warn{border-left:3px solid #b49554}.decision-banner.no{border-left:3px solid #aa6262}.decision-banner span{display:block;font-size:.55rem;letter-spacing:.1em;color:#858c90}.decision-banner strong,.decision-banner code{display:block;font-size:.75rem;margin-top:4px}.authorization-layout{display:grid;grid-template-columns:minmax(0,1.2fr) .55fr;gap:14px}.authorization-form-panel{margin-top:0}.authorization-info{border:1px solid #dcdfe0;background:#171a1c;color:#fff}.auth-info-block{padding:20px;border-bottom:1px solid #2a2e31}.auth-info-block:last-child{border-bottom:0}.auth-info-block>span{font-size:.58rem;color:#656d72}.auth-info-block strong{display:block;margin:18px 0 5px;font-size:.82rem}.auth-info-block p{margin:0;color:#858d92;font-size:.68rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.neuto-form label{display:grid;gap:6px;font-size:.67rem;font-weight:700;color:#5f666a}.neuto-form label>span:first-child{font-size:.6rem;letter-spacing:.05em;text-transform:uppercase}.neuto-form input,.neuto-form select,.neuto-form textarea{width:100%;height:40px;border:1px solid #d4d8da;border-radius:2px;padding:0 11px;font:inherit;font-size:.77rem;background:#fff;color:#111}.checkbox-field{align-content:end}.check-row{height:40px;display:flex;align-items:center;gap:8px;border:1px solid #d4d8da;padding:0 11px;background:#fff}.check-row input{width:auto;height:auto}.form-actions{display:flex;align-items:center;gap:15px;margin-top:18px}.neuto-form button{border:0;background:#111315;color:#fff;min-height:40px;padding:0 14px;border-radius:2px;font-weight:700;font-size:.72rem;cursor:pointer}.neuto-form button span{color:var(--n-accent);margin-left:8px}.form-actions small{font-size:.61rem;color:#8a9195}

/* traceability */
.trace-hero{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;border:1px solid #dcdfe0;background:#fff;padding:30px}.trace-hero h2{font-size:2rem;line-height:1;letter-spacing:-.045em;margin:10px 0 12px}.trace-hero p{color:#686f73;font-size:.8rem}.trace-visual{display:grid;grid-template-columns:1fr 80px 1fr;gap:10px;align-items:center}.trace-node{border:1px solid #ccd1d3;background:#fafbf9;padding:18px;min-height:110px;display:flex;flex-direction:column;justify-content:center}.trace-node span{font-size:.55rem;letter-spacing:.1em;color:#858c90}.trace-node strong{font-size:.84rem;margin-top:11px}.trace-node small{font-size:.6rem;color:#868d91;margin-top:3px}.trace-edge{text-align:center;color:#858c90;font-size:.56rem}.trace-edge i{display:block;height:1px;background:#aab0b3;position:relative;margin-bottom:8px}.trace-edge i:after{content:"";position:absolute;right:-1px;top:-3px;width:6px;height:6px;border-top:1px solid #aab0b3;border-right:1px solid #aab0b3;transform:rotate(45deg)}.transform-cell{font-size:.65rem;color:#62696d}

/* verification */
.verification-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:20px}.verification-search{border:1px solid #dcdfe0;background:#fff;padding:30px}.verification-search h2{font-size:2.1rem;letter-spacing:-.045em;margin:8px 0 12px}.verification-search p{font-size:.8rem;color:#6c7377;max-width:430px}.verification-search>small{display:block;margin-top:18px;font-size:.61rem;color:#8b9296}.verify-form{display:flex;margin-top:28px}.verify-form input{height:44px;min-width:0;flex:1;border:1px solid #cfd3d5;border-right:0;padding:0 12px;font-size:.76rem}.verify-form button{height:44px;border:1px solid #111315;background:#111315;color:#fff;padding:0 16px;font-size:.72rem;font-weight:700}.verify-form button span{color:var(--n-accent);margin-left:8px}.passport-card{border:1px solid #171a1c;background:#111315;color:#fff;padding:0;min-height:360px}.passport-card-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #292d30}.passport-brand{display:flex;align-items:center;gap:10px}.passport-brand strong{display:block;font-size:.75rem}.passport-brand small{display:block;color:#737b80;font-size:.58rem}.passport-title{padding:26px 22px}.passport-title>span{font-size:.58rem;letter-spacing:.11em;color:#6c7479}.passport-title h2{font-size:2rem;margin:9px 0 6px;letter-spacing:-.04em}.passport-title code{font-size:.68rem;color:#a6adb1}.passport-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #292d30;border-left:1px solid #292d30;margin:0 20px}.passport-grid>div{padding:15px;border-right:1px solid #292d30;border-bottom:1px solid #292d30}.field-label{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:#6f777c}.field-value{margin-top:5px;font-size:.72rem;font-weight:600}.passport-foot{padding:18px 20px;color:#747c81;font-size:.6rem}.passport-missing{padding:35px}.verification-placeholder{border:1px dashed #cbd0d2;display:flex;min-height:360px;align-items:center;justify-content:center;flex-direction:column;background:#f8f9f7;color:#81888c}.verification-placeholder>span{width:48px;height:48px;border:1px solid #bfc4c6;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.verification-placeholder p{font-size:.72rem}

/* audit / developer / settings */
.audit-feed{padding:3px 18px}.audit-row{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #eceeee}.audit-row:last-child{border-bottom:0}.audit-dot{width:6px;height:6px;background:#7e858a;border-radius:50%}.audit-row strong{display:block;font-size:.73rem}.audit-row small{display:block;color:#868d91;font-size:.61rem}.audit-row code{font-size:.61rem;color:#767d81}.developer-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.developer-code{margin-top:0}.developer-aside{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.endpoint-card{border:1px solid #dcdfe0;background:#fff;padding:16px;min-width:0}.endpoint-card>span{font-size:.55rem;color:#8a9094}.endpoint-card strong{display:block;font-size:.8rem;margin:20px 0 8px}.endpoint-card code{display:block;font-size:.58rem;word-break:break-word}.endpoint-card p{font-size:.65rem;color:#7b8286;margin:8px 0 0}.codebox{background:#101214;color:#dfe3e5;overflow:auto;font-family:monospace}.codebar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2e31}.codebar span{background:var(--n-accent);color:#111;padding:3px 6px;font-size:.57rem;font-weight:800}.codebar code{font-size:.65rem}.codebox pre{margin:0;padding:20px;font-size:.7rem;line-height:1.7}.api-key-body{padding:20px;display:flex;justify-content:space-between;align-items:center;gap:30px}.api-key-body p{font-size:.78rem;color:#686f73;max-width:670px}.api-auth-example{border-top:1px solid #dfe2e3;margin-top:15px;padding-top:12px}.api-auth-example span{display:block;font-size:.55rem;letter-spacing:.1em;color:#858c90}.api-auth-example code{display:block;margin-top:5px;font-size:.66rem}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.settings-card{border:1px solid #dcdfe0;background:#fff;padding:22px;min-height:160px}.settings-card>span{font-size:.56rem;letter-spacing:.1em;color:#878e92}.settings-card strong{display:block;font-size:1.05rem;margin-top:35px}.settings-card p{font-size:.69rem;color:#80878b}.admin-boundary{padding:20px}.admin-boundary p{font-size:.8rem;color:#676e72;max-width:900px}.boundary-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.boundary-tags span{border:1px solid #d3d7d9;padding:6px 8px;font-size:.6rem}.notice{padding:13px 15px;border:1px solid #d6d9da;background:#fff;font-size:.78rem}

/* mobile */
body.portal-nav-open{overflow:hidden}

@media(max-width:1180px){
  .hero-grid-v2{grid-template-columns:1fr;gap:50px}.rights-control-card{max-width:760px}.reality-head,.platform-intro,.dark-section-intro{grid-template-columns:1fr;gap:25px}.platform-pillars article{grid-template-columns:70px 1fr}.pillar-visual{grid-column:2;max-width:620px}.api-home-grid{grid-template-columns:1fr;gap:45px}.closing-section-v2 .container{grid-template-columns:1fr}.portal-dashboard-grid,.authorization-layout,.verification-layout{grid-template-columns:1fr}.developer-grid{grid-template-columns:1fr}.developer-aside{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  body.admin-bar .site-header{top:32px}.primary-nav{display:none}.primary-nav.is-open{display:flex;position:absolute;top:76px;left:0;right:0;padding:22px 28px;background:#fff;border-bottom:1px solid var(--n-line);flex-direction:column;align-items:flex-start;box-shadow:0 18px 35px rgba(0,0,0,.06)}body.admin-bar .primary-nav.is-open{top:76px}.menu-toggle{display:block}.reality-grid{grid-template-columns:1fr}.gap-grid,.about-grid,.section-head{grid-template-columns:1fr}.platform-pillars article{grid-template-columns:52px 1fr}.workflow-tabs{grid-template-columns:repeat(3,1fr)}.workflow-body{grid-template-columns:1fr}.workflow-object{border-right:0;border-bottom:1px solid var(--n-line-dark);min-height:190px}.usecase-home-head{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.about-principles,.scope-grid{grid-template-columns:repeat(2,1fr)}
  .portal-shell{grid-template-columns:1fr}.portal-sidebar{position:fixed;left:0;top:0!important;height:100vh!important;width:min(86vw,310px);transform:translateX(-101%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(0,0,0,.2);z-index:200}.portal-sidebar.open{transform:translateX(0)}.portal-sidebar-close{display:block}.portal-sidebar-scrim{display:block;position:fixed;inset:0;background:rgba(7,9,10,.42);z-index:190;opacity:0;visibility:hidden;transition:.2s}.portal-sidebar.open+.portal-sidebar-scrim{opacity:1;visibility:visible}.portal-content{padding:0 22px 60px}.portal-mobilebar{display:flex;height:62px;margin:0 -22px 24px;padding:0 22px;background:#111315;color:#fff;align-items:center;gap:12px}.mobile-sidebar-toggle{display:inline-flex;width:34px;height:34px;border:1px solid #33383b;background:#171a1c;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0}.mobile-sidebar-toggle span{width:14px;height:1px;background:#fff}.portal-mobilebar>div strong{display:block;font-size:.72rem}.portal-mobilebar>div small{display:block;color:#777f84;font-size:.58rem}.portal-mobile-status{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:.59rem;color:#9ba2a6}.portal-page-head{margin-top:0}.portal-system{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.catalog-summary{grid-template-columns:repeat(2,1fr)}.catalog-summary>div:nth-child(2){border-right:0}.catalog-summary>div:nth-child(-n+2){border-bottom:1px solid #e3e5e6}
}
@media(max-width:720px){
  .container{width:min(var(--n-max),calc(100% - 28px))}.header-row{height:66px}.brand-wordmark{font-size:.91rem}.brand-mark{width:30px;height:30px;flex-basis:30px}.brand-mark svg{width:23px;height:23px}.home-signal .container{min-height:34px}.home-signal span:first-child{display:none}.hero-home{padding:72px 0 64px}.hero-copy h1{font-size:clamp(3.1rem,15vw,4.5rem);line-height:.92}.hero-lede{font-size:1rem}.hero-footnote{gap:11px 15px;margin-top:42px}.rights-control-card{min-height:auto}.rights-control-grid{grid-template-columns:1fr}.reality-section,.section{padding:72px 0}.reality-head{margin:24px 0 42px}.reality-grid article{min-height:270px;padding:24px}.reality-grid h3{margin:50px 0 30px}.gap-section{padding:55px 0}.gap-grid blockquote{font-size:2.3rem}.platform-intro{margin:22px 0 45px}.platform-pillars article{grid-template-columns:1fr;gap:18px;padding:40px 0}.pillar-no{font-size:.66rem}.pillar-visual{grid-column:1;height:190px}.workflow-section{padding:72px 0}.workflow-tabs{grid-template-columns:1fr 1fr}.workflow-tabs button{border-bottom:1px solid var(--n-line-dark)}.workflow-copy{padding:26px 20px}.workflow-io{grid-template-columns:1fr;gap:14px;margin-top:32px}.usecase-preview a{grid-template-columns:1fr 30px;gap:7px;padding:19px 0}.usecase-preview a span{grid-column:1/-1}.usecase-preview a:hover{padding-left:8px;padding-right:8px}.api-window pre{font-size:.68rem;padding:20px}.closing-section-v2{padding:70px 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.public-page-hero{padding:72px 0 60px}.public-page-hero h1{font-size:3.25rem}.usecase-detail{grid-template-columns:1fr;gap:10px;padding:50px 0}.usecase-no{font-size:1.5rem}.usecase-columns,.about-principles,.scope-grid{grid-template-columns:1fr}.trust-flow,.trust-flow-short{grid-template-columns:1fr}.trust-arrow{transform:rotate(90deg);text-align:center}
  .portal-content{padding:0 12px 50px}.portal-mobilebar{margin:0 -12px 20px;padding:0 12px}.portal-page-head{display:block;margin-bottom:20px}.portal-title-row{display:block}.portal-title h1{font-size:1.85rem}.portal-title p{font-size:.78rem}.portal-head-action{margin-top:14px}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{min-height:135px;padding:14px}.metric-value{font-size:2rem;margin-top:24px}.metric-label{font-size:.62rem}.portal-dashboard-grid{gap:8px}.panel{margin-top:8px}.panel-head{min-height:58px;padding:12px 13px}.panel-head h2{font-size:.84rem}.panel-tools{gap:7px}.panel-tools>span{display:none}.table-search input{width:105px}.posture-row{grid-template-columns:120px 1fr 35px;gap:9px}.queue-item{padding:13px}.catalog-summary{margin-bottom:8px}.catalog-summary>div{padding:12px}.catalog-summary strong{font-size:1.3rem}.policy-status-grid{grid-template-columns:1fr 1fr;gap:8px}.decision-banner{grid-template-columns:1fr;gap:11px}.authorization-info{display:none}.form-grid{grid-template-columns:1fr}.form-actions{align-items:flex-start;flex-direction:column}.trace-hero{grid-template-columns:1fr;padding:20px}.trace-visual{grid-template-columns:1fr}.trace-edge i{width:1px;height:25px;margin:0 auto 8px}.trace-edge i:after{right:-3px;top:auto;bottom:-1px;transform:rotate(135deg)}.developer-aside{grid-template-columns:1fr}.api-key-body{align-items:flex-start;flex-direction:column}.settings-grid{grid-template-columns:1fr}.verify-form{flex-direction:column;gap:8px}.verify-form input{border-right:1px solid #cfd3d5}.passport-grid{grid-template-columns:1fr}
  .data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table thead{display:none}.data-table tbody{padding:0 12px}.data-table tr{padding:9px 0;border-bottom:1px solid #e8eaeb}.data-table tr:last-child{border-bottom:0}.data-table td{border:0!important;white-space:normal;padding:7px 0 7px 42%;position:relative;min-height:30px}.data-table td:before{content:attr(data-label);position:absolute;left:0;top:7px;width:37%;font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:#858c90;font-weight:760}.data-table tbody tr:hover{background:transparent}.asset-name{align-items:flex-start}.audit-row{grid-template-columns:12px 1fr}.audit-row code{grid-column:2;margin-top:2px}.portal-sidebar-foot{position:relative}
}
@media(max-width:420px){.metric-grid{grid-template-columns:1fr}.catalog-summary{grid-template-columns:1fr}.catalog-summary>div{border-right:0;border-bottom:1px solid #e3e5e6}.catalog-summary>div:last-child{border-bottom:0}.policy-status-grid{grid-template-columns:1fr}.hero-copy h1{font-size:3rem}.gap-grid blockquote{font-size:2rem}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v1.3 — canonical Neuto logo, contact, legal and authentication */
.neuto-brand-logo{display:block;object-fit:contain}.nav-brand-lockup{display:inline-flex;align-items:center;gap:11px}.nav-brand-icon{width:30px;height:30px;display:block;object-fit:contain;flex:0 0 30px}.nav-brand-copy{display:flex;flex-direction:column;line-height:1}.nav-brand-copy strong{display:block;font-size:.95rem;letter-spacing:-.03em;font-weight:780;color:var(--n-ink)}.nav-brand-copy small{display:block;margin-top:3px;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#7b8085}.header-nav-brand .nav-brand-icon{width:31px;height:31px;flex-basis:31px}.footer-nav-brand .nav-brand-icon{width:32px;height:32px;flex-basis:32px}.footer-nav-brand .nav-brand-copy strong{font-size:.98rem}.footer-product{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:#747b80;margin:9px 0 0}.portal-logo-image{width:112px;height:auto;filter:brightness(0) invert(1)}.portal-logo-link{display:inline-flex;align-items:center}.portal-product{display:block;min-width:0}.portal-product small{display:block;margin-top:5px;color:#737b80;font-size:.57rem;letter-spacing:.04em}.portal-sidebar-head{gap:10px}.portal-service-state{display:flex;align-items:center;gap:8px}.portal-sidebar-foot{display:block}.portal-user-row{display:flex;justify-content:space-between;gap:10px;margin-top:11px;padding-top:10px;border-top:1px solid #252a2d;font-size:.62rem}.portal-user-row span{color:#878e92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-user-row a{color:#d4d9db}.portal-mobile-brand{display:flex;align-items:center;gap:8px}.portal-mobile-brand>img{width:27px;height:27px;object-fit:contain}.portal-mobile-brand>div strong{display:block;font-size:.72rem}.portal-mobile-brand>div small{display:block;color:#777f84;font-size:.58rem}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.contact-context h2{font-size:clamp(2.3rem,4.2vw,4.5rem);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}.contact-context>p{font-size:1.02rem;color:#5f666a;max-width:650px}.contact-paths{margin-top:48px;border-top:1px solid var(--n-line)}.contact-paths article{display:grid;grid-template-columns:42px .55fr 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--n-line);align-items:start}.contact-paths article>span{font-size:.65rem;color:#858c90}.contact-paths strong{font-size:.87rem}.contact-paths p{font-size:.78rem;color:#737a7e;margin:0}.contact-form-card{border:1px solid #cfd3d5;background:#f8f9f7;padding:28px}.contact-card-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid #d9dddf}.contact-card-head span{font-size:.6rem;letter-spacing:.12em;color:#7e8589}.contact-card-head strong{font-size:.78rem}.neuto-contact-form{display:grid;gap:17px}.neuto-contact-form label{display:grid;gap:7px;font-size:.69rem;font-weight:720;color:#3f464a}.neuto-contact-form input,.neuto-contact-form select,.neuto-contact-form textarea{width:100%;border:1px solid #cfd3d5;background:#fff;padding:12px 13px;border-radius:1px;color:#111315;outline:none}.neuto-contact-form input:focus,.neuto-contact-form select:focus,.neuto-contact-form textarea:focus{border-color:#6f767a;box-shadow:0 0 0 2px rgba(49,95,154,.08)}.consent-row{grid-template-columns:18px 1fr!important;align-items:start!important;gap:10px!important;font-weight:500!important;line-height:1.5!important;color:#697074!important}.consent-row input{width:16px;height:16px;margin-top:2px}.consent-row a{text-decoration:underline;text-underline-offset:2px}.contact-submit{justify-self:start}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-message{padding:11px 13px;margin-bottom:16px;border:1px solid #d6d9da;font-size:.75rem}.form-message.success{background:#f2faf5;border-color:#bedbc8;color:#165d39}.form-message.error{background:#fff4f4;border-color:#e3c3c3;color:#8f2727}

/* Legal */
.legal-meta{margin-top:28px;font-size:.72rem;color:#858b8f}.legal-layout{display:grid;grid-template-columns:230px minmax(0,790px);gap:80px;align-items:start}.legal-index{position:sticky;top:110px;display:grid;gap:9px;border-top:1px solid var(--n-line);padding-top:14px}.legal-index>span{font-size:.58rem;letter-spacing:.13em;color:#858c90;margin-bottom:6px}.legal-index a{font-size:.72rem;color:#646b70}.legal-index a:hover{color:#111315}.legal-copy section{padding:0 0 42px;margin-bottom:42px;border-bottom:1px solid var(--n-line);scroll-margin-top:110px}.legal-copy h2{font-size:1.55rem;letter-spacing:-.035em;margin:0 0 15px}.legal-copy p{font-size:.94rem;color:#555d61;line-height:1.75}.legal-copy a{text-decoration:underline;text-underline-offset:3px}

/* Custom login */
body.neuto-login-page{background:#f3f5f5}.custom-login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand-panel{background:#101214;color:#fff;padding:54px clamp(38px,6vw,95px);display:flex;flex-direction:column;min-height:100vh}.login-logo{display:inline-flex;width:150px}.login-logo-image{width:100%;height:auto}.login-brand-panel .login-logo-image{filter:none}.login-brand-copy{margin:auto 0;max-width:720px}.login-brand-copy .eyebrow{color:#747c80}.login-brand-copy h1{font-size:clamp(3rem,6vw,6.5rem);line-height:.91;letter-spacing:-.065em;margin:0 0 28px}.login-brand-copy p{max-width:620px;color:#9da4a8;font-size:1.03rem}.login-trust-strip{display:flex;gap:24px;flex-wrap:wrap;padding-top:22px;border-top:1px solid #2a2f32;color:#6d757a;font-size:.58rem;letter-spacing:.12em}.login-form-panel{background:#f6f7f5;display:flex;align-items:center;justify-content:center;padding:50px}.login-form-wrap{width:min(430px,100%)}.login-mobile-brand{display:none}.login-form-head>span{font-size:.61rem;letter-spacing:.13em;color:#7b8286}.login-form-head h2{font-size:2.15rem;letter-spacing:-.045em;margin:12px 0 8px}.login-form-head p{margin:0 0 28px;color:#757c80;font-size:.8rem}.neuto-login-form{display:grid;gap:16px}.neuto-login-form>label{display:grid;gap:7px;font-size:.7rem;font-weight:720}.neuto-login-form input[type=text],.neuto-login-form input[type=password]{height:48px;border:1px solid #cdd1d3;background:#fff;padding:0 13px;outline:none}.neuto-login-form input:focus{border-color:#6f767a;box-shadow:0 0 0 2px rgba(49,95,154,.08)}.login-options{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.68rem}.remember-row{display:flex!important;align-items:center;gap:8px!important;font-weight:500!important}.login-options a{text-decoration:underline;text-underline-offset:2px}.login-submit{width:100%;margin-top:4px}.login-security-note{display:flex;gap:9px;align-items:flex-start;margin-top:24px;padding-top:18px;border-top:1px solid #d9dddf}.login-security-note p{margin:-3px 0 0;font-size:.65rem;color:#81888c}.login-public-link{display:inline-flex;margin-top:25px;font-size:.68rem;color:#697074}.already-auth{border:1px solid #d5d9db;background:#fff;padding:22px}.already-auth>strong{font-size:.9rem}.already-auth>p{font-size:.76rem;color:#747b7f}.already-auth .hero-actions{margin-top:17px}

/* Accessibility helper */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:980px){.contact-grid{grid-template-columns:1fr;gap:48px}.legal-layout{grid-template-columns:1fr;gap:35px}.legal-index{position:static;grid-template-columns:repeat(2,1fr)}.custom-login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh}.login-mobile-brand{display:block;margin-bottom:50px}.login-mobile-brand .login-logo-image{width:126px}.login-mobile-brand small{display:block;margin-top:7px;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#7b8286}}
@media(max-width:720px){.nav-brand-icon{width:28px;height:28px;flex-basis:28px}.nav-brand-copy strong{font-size:.88rem}.nav-brand-copy small{font-size:.54rem}.contact-section{padding-top:52px}.contact-form-card{padding:20px 16px}.contact-paths article{grid-template-columns:34px 1fr;gap:10px}.contact-paths article p{grid-column:2}.legal-index{grid-template-columns:1fr 1fr}.legal-copy section{padding-bottom:30px;margin-bottom:30px}.login-form-panel{padding:32px 20px}.login-mobile-brand{margin-bottom:38px}.login-form-head h2{font-size:1.9rem}.login-options{align-items:flex-start;flex-direction:column;gap:10px}.portal-logo-image{width:104px}}
@media(max-width:420px){.legal-index{grid-template-columns:1fr}.contact-context h2{font-size:2.45rem}}
/* v1.3.2 — natural portal brand treatment: no boxed logo */
.portal-logo-link{background:transparent;padding:0;border-radius:0;display:inline-flex;align-items:center;line-height:0;max-width:128px}.portal-logo-image{filter:brightness(0) invert(1);width:116px;height:auto;max-height:34px;object-fit:contain;object-position:left center;opacity:.96}.portal-logo-link:hover .portal-logo-image{opacity:1}.portal-product small{margin-top:7px;color:#6f777c;letter-spacing:.045em}.portal-sidebar-head{padding-left:20px;padding-right:16px}.login-brand-panel .login-logo{background:#fff;padding:7px 10px;border-radius:2px;width:170px}.login-brand-panel .login-logo-image{filter:none}
@media(max-width:980px){.portal-logo-link{max-width:122px}.portal-logo-image{width:110px;max-height:32px}}
@media(max-width:720px){.portal-logo-image{width:106px;max-height:31px}}


/* ========================================================================== 
   v1.4.0 — premium enterprise interaction system
   ========================================================================== */
:root{
  --n-ease:cubic-bezier(.2,.75,.25,1);
  --n-ease-fast:cubic-bezier(.2,.7,.2,1);
  --n-radius-sm:5px;
  --n-radius-md:8px;
  --n-radius-lg:12px;
  --n-shadow-soft:0 1px 2px rgba(10,14,18,.04),0 10px 28px rgba(10,14,18,.05);
  --n-shadow-float:0 2px 4px rgba(10,14,18,.05),0 18px 48px rgba(10,14,18,.10);
  --n-focus:0 0 0 3px rgba(17,19,21,.11);
}

/* Global interaction quality */
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a,button{touch-action:manipulation}
button,.btn,.portal-action,.nav-cta,.text-link,.primary-nav a,.portal-nav a,.usecase-preview a{transition:background-color .22s var(--n-ease),border-color .22s var(--n-ease),color .22s var(--n-ease),transform .22s var(--n-ease),box-shadow .22s var(--n-ease),opacity .22s var(--n-ease)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--n-focus)}

/* Header + navigation */
.site-header{background:rgba(255,255,255,.92);border-bottom-color:rgba(17,19,21,.10);box-shadow:0 1px 0 rgba(255,255,255,.55);backdrop-filter:saturate(135%) blur(20px)}
.header-row{height:78px}
.primary-nav{gap:8px}
.primary-nav a{display:inline-flex;align-items:center;min-height:42px;padding:0 11px;border-radius:var(--n-radius-sm);font-weight:620;color:#32373b}
.primary-nav a:not(.nav-cta):hover{background:#f3f4f2;color:#0b0c0d;opacity:1}
.primary-nav a:not(.nav-cta):focus-visible{background:#f3f4f2}
.nav-cta{min-height:44px!important;padding:0 17px!important;margin-left:5px;border:1px solid #0d0f10!important;background:#0d0f10!important;color:#fff!important;border-radius:var(--n-radius-sm)!important;font-weight:700!important;box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 1px 2px rgba(0,0,0,.08)}
.nav-cta:hover{background:#24282b!important;border-color:#24282b!important;transform:translateY(-1px);box-shadow:0 8px 22px rgba(10,14,18,.12);opacity:1!important}
.menu-toggle{width:44px;height:44px;border:1px solid #d9dcdd;border-radius:var(--n-radius-sm);align-items:center;justify-content:center;color:#111315;background:#fff;transition:.2s var(--n-ease)}
.menu-toggle:hover{background:#f4f5f3;border-color:#c7cbcd}

/* Public button system */
.btn{position:relative;min-height:48px;padding:0 20px;border-radius:var(--n-radius-sm);font-size:.84rem;font-weight:710;letter-spacing:-.005em;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0));opacity:0;transition:opacity .2s var(--n-ease);pointer-events:none;z-index:-1}
.btn:hover{transform:translateY(-2px)}
.btn:hover::before{opacity:1}
.btn:active{transform:translateY(0) scale(.992)}
.btn-dark{background:#0d0f10;border-color:#0d0f10;color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.08),0 7px 18px rgba(10,14,18,.09)}
.btn-dark:hover{background:#24282b;border-color:#24282b;box-shadow:0 2px 4px rgba(0,0,0,.08),0 14px 30px rgba(10,14,18,.14)}
.btn-light{background:rgba(255,255,255,.92);border-color:#cfd3d5;box-shadow:0 1px 2px rgba(10,14,18,.04)}
.btn-light:hover{background:#fff;border-color:#aeb4b7;box-shadow:0 8px 24px rgba(10,14,18,.08)}
.btn-ghost-dark{border-color:#444b50;background:rgba(255,255,255,.02)}
.btn-ghost-dark:hover{background:#fff;color:#111315;border-color:#fff}
.btn span[aria-hidden],.portal-action span[aria-hidden],.nav-cta span[aria-hidden]{transition:transform .2s var(--n-ease)}
.btn:hover span[aria-hidden],.portal-action:hover span[aria-hidden],.nav-cta:hover span[aria-hidden]{transform:translateX(3px)}
.text-link{position:relative;border:0;padding:4px 0;font-weight:700}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:left;transform:scaleX(.34);opacity:.45;transition:transform .24s var(--n-ease),opacity .24s var(--n-ease)}
.text-link:hover::after{transform:scaleX(1);opacity:1}

/* Public surfaces */
.rights-control-card,.api-window{border-radius:var(--n-radius-md);box-shadow:var(--n-shadow-float)}
.reality-grid,.platform-pillars,.usecase-preview{border-color:#d8dcde}
.reality-grid article,.feature,.about-principles article,.scope-grid>div{transition:background-color .24s var(--n-ease),transform .24s var(--n-ease),box-shadow .24s var(--n-ease)}
.reality-grid article:hover,.about-principles article:hover,.scope-grid>div:hover{background:#fafbf9}
.usecase-preview a{border-radius:0}
.usecase-preview a:hover{background:#f5f6f3;padding-left:18px;padding-right:18px}
.usecase-preview a em{transition:transform .22s var(--n-ease)}
.usecase-preview a:hover em{transform:translateX(4px)}

/* Forms: contact, auth, portal */
.neuto-contact-form input,.neuto-contact-form select,.neuto-contact-form textarea,.neuto-form input,.neuto-form select,.neuto-form textarea,.neuto-login-form input[type=text],.neuto-login-form input[type=password],.verify-form input,.table-search input{
  border-radius:var(--n-radius-sm);border-color:#d1d5d7;background:#fff;box-shadow:0 1px 0 rgba(10,14,18,.015) inset;transition:border-color .18s var(--n-ease),box-shadow .18s var(--n-ease),background .18s var(--n-ease)
}
.neuto-contact-form input:hover,.neuto-contact-form select:hover,.neuto-contact-form textarea:hover,.neuto-form input:hover,.neuto-form select:hover,.neuto-form textarea:hover,.neuto-login-form input:hover,.verify-form input:hover,.table-search input:hover{border-color:#b9bec1}
.neuto-contact-form input:focus,.neuto-contact-form select:focus,.neuto-contact-form textarea:focus,.neuto-form input:focus,.neuto-form select:focus,.neuto-form textarea:focus,.neuto-login-form input:focus,.verify-form input:focus,.table-search input:focus{border-color:#6f767a;box-shadow:0 0 0 3px rgba(17,19,21,.08);outline:0}
.neuto-form input,.neuto-form select{height:44px}.neuto-login-form input[type=text],.neuto-login-form input[type=password]{height:50px}
.contact-form-card,.already-auth{border-radius:var(--n-radius-md);box-shadow:var(--n-shadow-soft)}
.neuto-form button,.contact-submit,.login-submit{min-height:44px;border-radius:var(--n-radius-sm);background:#0e1011;color:#fff;border:1px solid #0e1011;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:transform .2s var(--n-ease),background .2s var(--n-ease),box-shadow .2s var(--n-ease)}
.neuto-form button:hover,.contact-submit:hover,.login-submit:hover{background:#25292c;transform:translateY(-1px);box-shadow:0 10px 24px rgba(10,14,18,.13)}
.neuto-form button:active,.contact-submit:active,.login-submit:active{transform:translateY(0)}

/* Enterprise portal chrome */
.portal-shell{background:#f3f4f2}
.portal-sidebar{background:#101214;border-right-color:#222629}
.workspace-switcher{border-radius:var(--n-radius-sm);background:#15181a;border-color:#282d30;box-shadow:0 1px 0 rgba(255,255,255,.025) inset}
.portal-nav{padding-left:10px;padding-right:10px}
.portal-nav a{min-height:39px;border-radius:var(--n-radius-sm);padding:0 11px;color:#9ca3a7}
.portal-nav a:hover{background:#1a1e20;color:#fff;transform:translateX(2px)}
.portal-nav a.active{position:relative;background:#202528;color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.025) inset}
.portal-nav a.active:before{width:4px;height:18px;border-radius:4px;background:#fff;margin-right:9px}
.portal-nav a.active .portal-nav-chevron{color:#aeb5b9}
.portal-nav-chevron{transition:transform .2s var(--n-ease),color .2s var(--n-ease)}
.portal-nav a:hover .portal-nav-chevron{transform:translateX(2px);color:#fff}
.portal-content{padding-top:38px}
.portal-mobilebar{border-bottom:1px solid #252a2d;box-shadow:0 7px 20px rgba(0,0,0,.08)}
.mobile-sidebar-toggle{border-radius:var(--n-radius-sm);transition:.2s var(--n-ease)}
.mobile-sidebar-toggle:hover{background:#22272a;border-color:#474d51}

/* Portal actions + cards */
.portal-action{min-height:42px;padding:0 15px;border-radius:var(--n-radius-sm);background:#101214;border-color:#101214;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.portal-action:hover{background:#262b2e;border-color:#262b2e;transform:translateY(-1px);box-shadow:0 10px 24px rgba(10,14,18,.12)}
.portal-action:active{transform:translateY(0)}
.status-pill{min-height:30px;padding:0 10px;border-radius:999px;background:#fff;border-color:#d9dcde;box-shadow:0 1px 2px rgba(10,14,18,.025)}
.metric-card,.panel,.passport-card,.trace-hero,.authorization-form-panel,.authorization-info,.policy-status-card,.api-key-card,.settings-card{border-radius:var(--n-radius-md);border-color:#d9dddf;box-shadow:0 1px 2px rgba(10,14,18,.025);transition:border-color .22s var(--n-ease),box-shadow .22s var(--n-ease),transform .22s var(--n-ease)}
.metric-card:hover{border-color:#c8cdcf;box-shadow:var(--n-shadow-soft);transform:translateY(-2px)}
.panel:hover{border-color:#d0d4d6;box-shadow:0 6px 22px rgba(10,14,18,.045)}
.panel-head{background:linear-gradient(180deg,#fff,#fdfdfc)}
.queue-item,.data-table tbody tr{transition:background-color .16s var(--n-ease)}
.queue-item:hover,.data-table tbody tr:hover{background:#f7f8f6}
.table-search input{height:34px!important;border-radius:999px!important;padding-left:13px!important;padding-right:13px!important;background:#fafbf9!important}

/* Auth + policy states */
.badge{border-radius:999px;font-weight:720;letter-spacing:.01em}
.badge.ok{background:#f2f8f4;border-color:#c9ddd1;color:#176b42}
.badge.warn{background:#fff8e9;border-color:#e4d3aa;color:#7b560f}
.badge.no{background:#fff3f3;border-color:#e4caca;color:#8f2d2d}
.decision-banner{border-radius:var(--n-radius-md)}

/* Login */
.login-form-panel{background:#f5f6f4}
.login-form-wrap{max-width:440px}
.login-form-head h2{font-weight:620}
.login-submit{min-height:50px}
.login-options a,.login-public-link{transition:color .18s var(--n-ease),opacity .18s var(--n-ease)}
.login-options a:hover,.login-public-link:hover{color:#111315;opacity:.72}

/* Mobile: premium touch targets and rhythm */
@media(max-width:980px){
  .primary-nav.is-open{gap:4px;padding:14px 18px 18px;border-bottom-color:#d9dddf;box-shadow:0 18px 38px rgba(10,14,18,.10)}
  .primary-nav.is-open a{width:100%;min-height:46px;padding:0 12px}
  .primary-nav.is-open .nav-cta{margin:6px 0 0;justify-content:center}
  .menu-toggle{display:inline-flex}
  .portal-sidebar{box-shadow:24px 0 70px rgba(0,0,0,.24)}
}
@media(max-width:720px){
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .hero-actions .btn{width:100%;min-height:50px}
  .btn{min-height:48px}
  .portal-content{padding-bottom:calc(54px + env(safe-area-inset-bottom))}
  .portal-mobilebar{position:sticky;top:0;z-index:60;min-height:64px;height:auto;padding-top:max(0px,env(safe-area-inset-top))}
  body.admin-bar .portal-mobilebar{top:46px}
  .mobile-sidebar-toggle{width:42px;height:42px;flex:0 0 42px}
  .portal-action{min-height:44px;width:100%;justify-content:center}
  .portal-head-action{width:100%}
  .metric-card{min-height:128px}
  .panel{border-radius:var(--n-radius-sm)}
  .neuto-form button,.contact-submit,.login-submit{min-height:48px;width:100%;justify-content:center}
  .form-actions{width:100%}
  .form-actions small{line-height:1.5}
  .data-table tbody{padding:2px 12px}
  .data-table tr{padding:12px 0}
  .data-table td{padding-top:8px;padding-bottom:8px}
}
@media(max-width:480px){
  .container{width:min(var(--n-max),calc(100% - 24px))}
  .nav-brand-copy small{display:none}
  .header-nav-brand .nav-brand-icon{width:29px;height:29px;flex-basis:29px}
  .portal-title h1{font-size:1.7rem}
  .metric-grid{grid-template-columns:1fr}
  .metric-card{min-height:112px}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
/* Front-end utility buttons emitted by portal modules */
.portal-content .button,.portal-content .button-primary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid #101214;border-radius:var(--n-radius-sm);background:#101214;color:#fff!important;font-size:.72rem;font-weight:700;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:transform .2s var(--n-ease),background .2s var(--n-ease),box-shadow .2s var(--n-ease)}
.portal-content .button:hover,.portal-content .button-primary:hover{background:#262b2e;border-color:#262b2e;transform:translateY(-1px);box-shadow:0 10px 24px rgba(10,14,18,.12)}
.portal-content .button:active,.portal-content .button-primary:active{transform:translateY(0)}
@media(max-width:720px){.portal-content .button,.portal-content .button-primary{min-height:44px;width:100%}}


/* v1.4.1 — enterprise typography refinement */
:root{--n-heading-tracking:-.038em;--n-heading-weight:610}
.hero-copy h1{font-size:clamp(3.15rem,5.35vw,5.45rem);line-height:.96;letter-spacing:-.048em;font-weight:610;max-width:900px}
.reality-head h2,.platform-intro h2,.dark-section-intro h2,.usecase-home-head h2,.api-home h2{font-size:clamp(2.25rem,3.8vw,4.15rem);line-height:1;letter-spacing:-.041em;font-weight:600}
.reality-grid h3{font-size:clamp(1.65rem,2.35vw,2.55rem);line-height:1.06;letter-spacing:-.032em;font-weight:590}
.gap-grid blockquote{font-size:clamp(1.9rem,3.25vw,3.45rem);line-height:1.07;letter-spacing:-.039em;font-weight:540}
.pillar-copy h3{font-size:clamp(1.75rem,2.75vw,2.85rem);line-height:1.04;letter-spacing:-.036em;font-weight:600}
.workflow-copy h3{font-size:clamp(1.7rem,2.55vw,2.65rem);line-height:1.05;letter-spacing:-.035em;font-weight:580}
.rights-record h2{font-size:1.7rem;letter-spacing:-.032em;line-height:1.05;font-weight:600}
.public-page-hero h1{font-size:clamp(2.85rem,5vw,5.15rem);line-height:.98;letter-spacing:-.045em;font-weight:610;max-width:980px}
.section-head h2,.about-copy h2{font-size:clamp(2.15rem,3.6vw,3.8rem);line-height:1.02;letter-spacing:-.04em;font-weight:600}
.usecase-detail h2{font-size:clamp(1.85rem,3vw,3.05rem);line-height:1.04;letter-spacing:-.036em;font-weight:600}
.page-wrap h1{font-size:clamp(2.35rem,4vw,4.1rem);line-height:1;letter-spacing:-.041em;font-weight:610}
.contact-context h2{font-size:clamp(2rem,3.25vw,3.45rem);line-height:1.02;letter-spacing:-.039em;font-weight:600}
.legal-copy h2{font-size:1.38rem;line-height:1.15;letter-spacing:-.022em;font-weight:650}
.login-brand-copy h1{font-size:clamp(2.65rem,4.7vw,4.8rem);line-height:.97;letter-spacing:-.045em;font-weight:600}
.login-form-head h2{font-size:1.82rem;line-height:1.05;letter-spacing:-.03em;font-weight:620}
.portal-title h1{font-size:1.95rem;line-height:1.05;letter-spacing:-.035em;font-weight:620}
.panel-head h2{font-size:.88rem;letter-spacing:-.01em;font-weight:680}
.metric-value{font-size:2.15rem;letter-spacing:-.04em;font-weight:570}
.metric-value.metric-text{font-size:1.5rem}
.usecase-preview strong{font-size:1rem;line-height:1.35;letter-spacing:-.012em;font-weight:590}
.about-principles h3{font-size:1.12rem;letter-spacing:-.018em;font-weight:620}
.scope-grid strong{font-size:.94rem;font-weight:620}

@media(max-width:980px){
  .hero-copy h1{font-size:clamp(3rem,8vw,4.5rem)}
  .public-page-hero h1{font-size:clamp(2.8rem,7.5vw,4.2rem)}
  .login-brand-copy h1{font-size:clamp(2.7rem,6vw,4rem)}
}
@media(max-width:720px){
  .hero-copy h1{font-size:2.75rem;line-height:.98;letter-spacing:-.042em}
  .public-page-hero h1{font-size:2.65rem;line-height:1;letter-spacing:-.04em}
  .reality-head h2,.platform-intro h2,.dark-section-intro h2,.usecase-home-head h2,.api-home h2,.section-head h2,.about-copy h2{font-size:2.15rem;line-height:1.03;letter-spacing:-.035em}
  .reality-grid h3,.pillar-copy h3,.workflow-copy h3,.usecase-detail h2{font-size:1.75rem;line-height:1.06;letter-spacing:-.03em}
  .gap-grid blockquote{font-size:1.9rem;line-height:1.08;letter-spacing:-.032em}
  .page-wrap h1{font-size:2.35rem;line-height:1.02;letter-spacing:-.035em}
  .contact-context h2{font-size:2.1rem;line-height:1.04;letter-spacing:-.032em}
  .login-form-head h2{font-size:1.65rem}
  .portal-title h1{font-size:1.62rem;letter-spacing:-.028em}
  .metric-value{font-size:1.9rem}
}
@media(max-width:420px){
  .hero-copy h1{font-size:2.45rem}
  .public-page-hero h1{font-size:2.35rem}
  .reality-head h2,.platform-intro h2,.dark-section-intro h2,.usecase-home-head h2,.api-home h2,.section-head h2,.about-copy h2{font-size:1.95rem}
  .gap-grid blockquote{font-size:1.75rem}
  .page-wrap h1{font-size:2.1rem}
  .contact-context h2{font-size:1.95rem}
  .portal-title h1{font-size:1.5rem}
}


/* ========================================================================== 
   v1.4.2 — neon cyan brand system
   ========================================================================== */
:root{--n-neon:#00eaff;--n-neon-mint:#00ffb8;--n-neon-blue:#008cff;--n-neon-soft:rgba(0,234,255,.13)}

/* Public brand lockup */
.nav-brand-icon{filter:none!important}.nav-brand-copy strong{color:#101315}.header-nav-brand .nav-brand-icon,.footer-nav-brand .nav-brand-icon{filter:drop-shadow(0 0 8px rgba(0,234,255,.10))!important}

/* Control Room brand — existing waveform asset, no boxed background */
.portal-logo-link{max-width:none!important;line-height:normal!important;background:transparent!important;padding:0!important}
.portal-brand-lockup{display:inline-flex;align-items:center;gap:10px;min-width:0}
.portal-brand-icon{width:31px;height:31px;object-fit:contain;flex:0 0 31px;filter:drop-shadow(0 0 9px rgba(0,234,255,.16))}
.portal-brand-copy{display:flex;flex-direction:column;line-height:1;min-width:0}
.portal-brand-copy strong{color:#f4f7f8;font-size:.88rem;font-weight:760;letter-spacing:-.025em}
.portal-brand-copy small{margin-top:4px;color:#707a7f;font-size:.54rem;text-transform:uppercase;letter-spacing:.10em}
.portal-product>small{display:none!important}
.portal-logo-image{filter:none!important;background:transparent!important}
.portal-mobile-brand>img{filter:drop-shadow(0 0 8px rgba(0,234,255,.14))}
.portal-nav a.active:before{background:linear-gradient(180deg,var(--n-neon-mint),var(--n-neon-blue));box-shadow:0 0 10px rgba(0,234,255,.18)}

/* Branded authentication */
.login-logo{width:auto!important;background:transparent!important;padding:0!important;border-radius:0!important}
.login-brand-lockup{display:inline-flex;align-items:center;gap:12px}
.login-brand-icon{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(0,234,255,.17))}
.login-brand-copy strong{font-size:1.25rem;letter-spacing:-.035em;font-weight:760;color:#fff}
.login-mobile-brand .login-brand-copy strong{color:#111315}
.login-mobile-brand .login-brand-lockup{gap:10px}
.login-mobile-brand .login-brand-icon{width:34px;height:34px}
.login-brand-panel .login-logo-image{filter:none!important}

/* Keep neon as a controlled brand accent, not a decorative UI theme */
.status-dot{box-shadow:0 0 0 3px rgba(0,255,184,.08)}
.portal-mobile-status .status-dot,.portal-service-state .status-dot{background:var(--n-neon-mint);box-shadow:0 0 10px rgba(0,255,184,.22)}

@media(max-width:720px){
  .nav-brand-icon{width:27px;height:27px;flex-basis:27px}
  .portal-brand-icon{width:29px;height:29px;flex-basis:29px}
  .portal-brand-copy strong{font-size:.82rem}
  .portal-brand-copy small{font-size:.5rem}
}


/* ==============================================================
   Neuto v2.0 — Portal-native MVP data operations
   ============================================================== */
.portal-head-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.portal-action.secondary{background:#fff;color:var(--n-ink);border-color:#cfd5d8}.portal-action.secondary:hover{background:#f5f7f7;border-color:#aeb7bb}.portal-action.primary{background:#0f1214;color:#fff;border-color:#0f1214}.portal-flash{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-8px 0 22px;padding:12px 14px;border:1px solid #cfd5d8;background:#fff;font-size:.75rem}.portal-flash.success{border-color:#b8dcc6;background:#f3faf6;color:#185f3c}.portal-flash.error{border-color:#e3c3c3;background:#fff5f5;color:#8f2929}.portal-flash button{border:0;background:transparent;color:inherit;font-size:1.05rem;cursor:pointer;padding:0 4px}.portal-auth-gate{border:1px solid #d2d7d9;background:#f8f9f7;padding:24px;margin-bottom:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}.portal-auth-gate strong{font-size:.92rem}.portal-auth-gate p{grid-column:1;margin:4px 0 0;color:#6d7579;font-size:.75rem}.portal-auth-gate .portal-action{grid-column:2;grid-row:1/3}.portal-auth-gate.compact{margin-top:4px}
.entity-editor{margin:0 0 22px;border-color:#aeb7bb;box-shadow:0 18px 46px rgba(18,24,27,.07)}.entity-editor .panel-head{background:#f8f9f7}.panel-back{font-size:.7rem;color:#687176;text-decoration:none}.panel-back:hover{color:#111}.mvp-record-form{padding:0}.mvp-form-intro{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;padding:22px 24px;border-bottom:1px solid #e0e4e5;background:#fbfcfb}.mvp-form-intro>div span{display:block;font-size:.58rem;letter-spacing:.12em;color:#7b8388}.mvp-form-intro>div strong{display:block;margin-top:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem}.mvp-form-intro p{margin:0;color:#697176;font-size:.78rem;max-width:780px}.mvp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding:25px}.mvp-field{display:grid;gap:7px;align-content:start}.mvp-field-wide{grid-column:1/-1}.mvp-field>span{font-size:.65rem;font-weight:720;color:#41484c;letter-spacing:.01em}.mvp-field>span b{color:#a13636;margin-left:3px}.mvp-field input,.mvp-field select,.mvp-field textarea{width:100%;min-height:45px;border:1px solid #ccd2d5;background:#fff;color:#111518;border-radius:2px;padding:10px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.mvp-field textarea{min-height:108px;resize:vertical}.mvp-field input:focus,.mvp-field select:focus,.mvp-field textarea:focus{border-color:#737f84;box-shadow:0 0 0 3px rgba(0,215,255,.08)}.mvp-form-actions{display:flex;align-items:center;gap:18px;padding:18px 25px;border-top:1px solid #e0e4e5;background:#f8f9f7}.mvp-form-actions>span{font-size:.65rem;color:#788085}.registry-panel{margin-top:18px}.record-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.record-actions a,.record-actions button{appearance:none;border:0;background:transparent;color:#2f4d59;font-size:.68rem;font-weight:720;padding:0;cursor:pointer}.record-actions button{color:#8b3939}.record-actions a:hover,.record-actions button:hover{text-decoration:underline;text-underline-offset:3px}.record-actions form{margin:0}.actions-cell{min-width:95px}.cell-sub{display:block;margin-top:4px;color:#7b8387;font-size:.62rem}.registry-panel .data-table td{vertical-align:middle}.registry-panel .data-table td:first-child strong{font-size:.8rem}.registry-panel .panel-tools{min-width:300px}.registry-panel .table-search{flex:1}.policy-history{margin:18px 0;border:1px solid #d9dddf;background:#fff}.policy-history summary{padding:14px 16px;cursor:pointer;font-size:.7rem;font-weight:720}.policy-history>div{border-top:1px solid #e1e4e5}.policy-history article{display:grid;grid-template-columns:1fr auto;gap:5px 20px;padding:12px 16px;border-bottom:1px solid #eef0f0}.policy-history article:last-child{border-bottom:0}.policy-history article strong{font-size:.72rem}.policy-history article span{font-size:.62rem;color:#7d8589}.policy-history article small{grid-column:1/-1;color:#697176}.relation-editor .mvp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trace-visual+.panel{margin-top:18px}
@media(max-width:980px){.portal-head-actions{justify-content:flex-start}.mvp-form-intro{grid-template-columns:1fr;gap:12px}.mvp-form-grid,.relation-editor .mvp-form-grid{grid-template-columns:1fr}.mvp-field-wide{grid-column:auto}.portal-auth-gate{grid-template-columns:1fr}.portal-auth-gate .portal-action{grid-column:1;grid-row:auto;justify-self:start}.registry-panel .panel-head{align-items:flex-start}.registry-panel .panel-tools{min-width:0;width:100%;margin-top:10px}.registry-panel .table-search{width:100%}}
@media(max-width:720px){.portal-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.portal-head-actions .portal-action{width:100%;justify-content:center}.entity-editor{margin-left:-2px;margin-right:-2px}.mvp-form-intro,.mvp-form-grid,.mvp-form-actions{padding-left:16px;padding-right:16px}.mvp-form-actions{align-items:stretch;flex-direction:column}.mvp-form-actions .portal-action{width:100%;justify-content:center;min-height:46px}.portal-auth-gate{padding:18px}.portal-auth-gate .portal-action{width:100%;justify-content:center}.record-actions{justify-content:flex-end}.data-table td.actions-cell{padding-top:7px!important}.policy-history article{grid-template-columns:1fr}.policy-history article small{grid-column:auto}}
@media(max-width:430px){.portal-head-actions{grid-template-columns:1fr}.mvp-form-grid{gap:14px}.mvp-field input,.mvp-field select{min-height:48px}.record-actions{gap:14px}}


/* ==============================================================
   Neuto v2.1 — enterprise RBAC and access-control surfaces
   ============================================================== */
.workspace-role{display:inline-flex;margin-top:9px;max-width:100%;padding:4px 7px;border:1px solid #30373a;border-radius:999px;color:#aab2b6;font-size:.55rem;font-weight:720;letter-spacing:.045em;line-height:1.2;background:#15191b}
.portal-access-denied{max-width:720px;margin:36px auto;padding:38px;border:1px solid #cfd5d8;background:#fff;box-shadow:0 18px 54px rgba(18,24,27,.07)}.portal-access-denied>span{display:block;font-size:.6rem;letter-spacing:.14em;color:#7a8387;font-weight:760}.portal-access-denied h2{margin:14px 0 10px;font-size:1.7rem;line-height:1.08;letter-spacing:-.035em}.portal-access-denied p{margin:0 0 24px;color:#657075;font-size:.82rem;max-width:600px}.portal-access-denied .portal-action{display:inline-flex}.access-profile-panel .panel-body{padding:22px 24px}.access-profile-panel p{margin:0;color:#687176;font-size:.8rem;max-width:760px}
.access-control-panel{overflow:visible}.rbac-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #e1e5e6}.rbac-summary>div{padding:18px 20px;border-right:1px solid #e1e5e6}.rbac-summary>div:last-child{border-right:0}.rbac-summary span{display:block;font-size:.56rem;letter-spacing:.12em;color:#7a8387}.rbac-summary strong{display:block;margin-top:7px;font-size:.75rem;line-height:1.35}.rbac-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.rbac-role-card{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:24px;padding:25px;border-bottom:1px solid #e1e5e6;border-right:1px solid #e1e5e6}.rbac-role-card:nth-child(even){border-right:0}.rbac-role-card:nth-last-child(-n+2){border-bottom:0}.role-code{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.57rem;letter-spacing:.1em;color:#788186}.rbac-role-card h3{margin:8px 0 8px;font-size:1rem;letter-spacing:-.025em}.rbac-role-card p{margin:0;color:#6d767a;font-size:.7rem;line-height:1.55}.rbac-cap-list{display:flex;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:6px}.rbac-cap-list span{display:inline-flex;padding:5px 7px;border:1px solid #d9dfe1;background:#fafbfa;color:#4e585d;font-size:.58rem;line-height:1.2}
.access-users{margin-top:18px}.access-role-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid #d6dcde;background:#f7f9f8;border-radius:999px;font-size:.62rem;font-weight:700}.rbac-assignment-form{display:flex;align-items:center;gap:7px;min-width:330px}.rbac-assignment-form select{min-width:220px;height:36px;border:1px solid #ccd2d5;background:#fff;padding:0 9px;font-size:.68rem}.rbac-assignment-form button{height:36px;border:1px solid #15191b;background:#15191b;color:#fff;padding:0 12px;font-size:.65rem;font-weight:730;cursor:pointer}.rbac-assignment-form button:hover{background:#242a2d}.rbac-assignment-form button:disabled,.rbac-assignment-form select:disabled{opacity:.45;cursor:not-allowed}.rbac-user-table td{vertical-align:middle}
@media(max-width:1100px){.rbac-summary{grid-template-columns:repeat(2,1fr)}.rbac-summary>div:nth-child(2){border-right:0}.rbac-summary>div:nth-child(-n+2){border-bottom:1px solid #e1e5e6}.rbac-role-grid{grid-template-columns:1fr}.rbac-role-card,.rbac-role-card:nth-child(even),.rbac-role-card:nth-last-child(-n+2){border-right:0;border-bottom:1px solid #e1e5e6}.rbac-role-card:last-child{border-bottom:0}}
@media(max-width:720px){.portal-access-denied{margin:18px 0;padding:24px 18px}.portal-access-denied h2{font-size:1.45rem}.rbac-summary{grid-template-columns:1fr 1fr}.rbac-summary>div{padding:15px 14px}.rbac-role-card{grid-template-columns:1fr;gap:16px;padding:20px 16px}.rbac-assignment-form{min-width:0;display:grid;grid-template-columns:1fr auto;width:100%}.rbac-assignment-form select{min-width:0;width:100%;height:42px}.rbac-assignment-form button{height:42px}.rbac-user-table td[data-label="Assign Neuto role"]{padding-top:12px!important}}
@media(max-width:430px){.rbac-summary{grid-template-columns:1fr}.rbac-summary>div{border-right:0!important;border-bottom:1px solid #e1e5e6!important}.rbac-summary>div:last-child{border-bottom:0!important}.rbac-assignment-form{grid-template-columns:1fr}.rbac-assignment-form button{width:100%}}
.verification-review{margin-top:18px}.verification-review-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px 18px;align-items:end;padding:22px 24px}.verification-review-form label{display:grid;gap:7px}.verification-review-form label>span{font-size:.64rem;font-weight:720;color:#4d565a}.verification-review-form select{width:100%;height:44px;border:1px solid #ccd2d5;background:#fff;padding:0 11px;color:#111518}.verification-review-form small{grid-column:1/-1;color:#778084;font-size:.63rem}.verification-review-form .portal-action{height:44px}
@media(max-width:720px){.verification-review-form{grid-template-columns:1fr;padding:18px 16px}.verification-review-form .portal-action{width:100%;justify-content:center}.verification-review-form small{grid-column:auto}}

/* ==============================================================
   Neuto v2.2 — standalone portal shell, light/dark mode, mobile app chrome
   ============================================================== */
body.neuto-portal-app{background:#f3f4f2;min-height:100vh;overscroll-behavior-y:none}
body.neuto-portal-app .portal-site-main{min-height:100vh}
body.neuto-portal-app .portal-shell{min-height:100vh;background:#f3f4f2}
body.neuto-portal-app .portal-sidebar{top:0;height:100vh}
body.admin-bar.neuto-portal-app .portal-sidebar{top:32px;height:calc(100vh - 32px)}
body.neuto-portal-app .portal-content{min-height:100vh}
body.neuto-portal-app .site-footer{display:none}

/* Neuto-only public brand lockup */
.nav-brand-copy{justify-content:center}.nav-brand-copy strong{font-size:1rem;line-height:1;letter-spacing:-.035em}
.header-nav-brand,.footer-nav-brand{gap:10px}
.footer-nav-brand .nav-brand-copy strong{font-size:1rem}

/* Portal appearance controls */
.portal-theme-toggle{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;margin-top:13px;padding:10px 0 0;border:0;border-top:1px solid #252a2d;background:transparent;color:#a7afb3;text-align:left;cursor:pointer}
.portal-theme-toggle:hover{color:#fff}.portal-theme-toggle>span:not(.theme-toggle-track){font-size:.61rem}.portal-theme-toggle>strong{font-size:.61rem;color:#d6dcdf;font-weight:720}
.theme-toggle-track{width:30px;height:17px;padding:2px;border:1px solid #454c50;border-radius:999px;background:#1b1f21;display:inline-flex;align-items:center;transition:.2s ease}
.theme-toggle-track i{display:block;width:11px;height:11px;border-radius:50%;background:#d9dfe2;transform:translateX(0);transition:transform .2s ease,background .2s ease}
html[data-neuto-theme="dark"] .theme-toggle-track{background:#1c3134;border-color:#3d777d}
html[data-neuto-theme="dark"] .theme-toggle-track i{transform:translateX(13px);background:#60f4ff}
.portal-logout-link{font-weight:720;color:#f0f3f4!important}.portal-logout-link:hover{text-decoration:underline;text-underline-offset:3px}

.portal-mobile-actions{margin-left:auto;display:flex;align-items:center;gap:7px}
.portal-mobile-theme,.portal-mobile-logout{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #343a3d;background:#171b1d;color:#e7ebed;border-radius:3px;font-size:.6rem;font-weight:720;padding:0 10px;cursor:pointer}
.portal-mobile-theme:hover,.portal-mobile-logout:hover{background:#242a2d;border-color:#50575b}
.theme-mobile-icon{width:9px;height:9px;border-radius:50%;border:1px solid #8a9398;margin-right:5px;box-shadow:inset 4px 0 0 transparent}
html[data-neuto-theme="dark"] .theme-mobile-icon{border-color:#66f1ff;background:#66f1ff;box-shadow:0 0 0 3px rgba(102,241,255,.08)}

/* Light portal palette */
html[data-neuto-theme="light"] body.neuto-portal-app{color-scheme:light;background:#f3f4f2}
html[data-neuto-theme="light"] body.neuto-portal-app .portal-shell{background:#f3f4f2}

/* Dark portal palette */
html[data-neuto-theme="dark"] body.neuto-portal-app{color-scheme:dark;background:#0d1012;color:#e7ebed}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-site-main,
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-shell{background:#0d1012}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-content{color:#e7ebed}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-title h1,
html[data-neuto-theme="dark"] body.neuto-portal-app .panel-head h2,
html[data-neuto-theme="dark"] body.neuto-portal-app .metric-value,
html[data-neuto-theme="dark"] body.neuto-portal-app .field-value,
html[data-neuto-theme="dark"] body.neuto-portal-app strong{color:#eef2f3}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-title p,
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-breadcrumb,
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-sync,
html[data-neuto-theme="dark"] body.neuto-portal-app .metric-label,
html[data-neuto-theme="dark"] body.neuto-portal-app .field-label,
html[data-neuto-theme="dark"] body.neuto-portal-app .mvp-form-intro p,
html[data-neuto-theme="dark"] body.neuto-portal-app .mvp-form-actions>span,
html[data-neuto-theme="dark"] body.neuto-portal-app .cell-sub{color:#929ca1}
html[data-neuto-theme="dark"] body.neuto-portal-app .metric-card,
html[data-neuto-theme="dark"] body.neuto-portal-app .panel,
html[data-neuto-theme="dark"] body.neuto-portal-app .passport-card,
html[data-neuto-theme="dark"] body.neuto-portal-app .trace-hero,
html[data-neuto-theme="dark"] body.neuto-portal-app .authorization-form-panel,
html[data-neuto-theme="dark"] body.neuto-portal-app .authorization-info,
html[data-neuto-theme="dark"] body.neuto-portal-app .policy-status-card,
html[data-neuto-theme="dark"] body.neuto-portal-app .api-key-card,
html[data-neuto-theme="dark"] body.neuto-portal-app .settings-card,
html[data-neuto-theme="dark"] body.neuto-portal-app .entity-editor,
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-access-denied,
html[data-neuto-theme="dark"] body.neuto-portal-app .access-profile-panel,
html[data-neuto-theme="dark"] body.neuto-portal-app .access-control-panel,
html[data-neuto-theme="dark"] body.neuto-portal-app .verification-review,
html[data-neuto-theme="dark"] body.neuto-portal-app .policy-history{background:#15191b;border-color:#2d3437;box-shadow:none}
html[data-neuto-theme="dark"] body.neuto-portal-app .panel:hover,
html[data-neuto-theme="dark"] body.neuto-portal-app .metric-card:hover{border-color:#3a4347;box-shadow:0 8px 26px rgba(0,0,0,.18)}
html[data-neuto-theme="dark"] body.neuto-portal-app .panel-head,
html[data-neuto-theme="dark"] body.neuto-portal-app .entity-editor .panel-head,
html[data-neuto-theme="dark"] body.neuto-portal-app .mvp-form-intro,
html[data-neuto-theme="dark"] body.neuto-portal-app .mvp-form-actions{background:#181d20;border-color:#2d3437}
html[data-neuto-theme="dark"] body.neuto-portal-app .status-pill{background:#151a1c;border-color:#343c40;color:#d8dddf}
html[data-neuto-theme="dark"] body.neuto-portal-app .catalog-summary,
html[data-neuto-theme="dark"] body.neuto-portal-app .catalog-summary>div{background:#15191b;border-color:#2d3437}
html[data-neuto-theme="dark"] body.neuto-portal-app .data-table th{background:#111517;color:#8f999e;border-color:#2b3235}
html[data-neuto-theme="dark"] body.neuto-portal-app .data-table td{color:#d6dcdf;border-color:#262d30}
html[data-neuto-theme="dark"] body.neuto-portal-app .data-table tbody tr:hover,
html[data-neuto-theme="dark"] body.neuto-portal-app .queue-item:hover{background:#1a2023}
html[data-neuto-theme="dark"] body.neuto-portal-app .queue-item,
html[data-neuto-theme="dark"] body.neuto-portal-app .audit-row{border-color:#2a3134}
html[data-neuto-theme="dark"] body.neuto-portal-app .table-search input,
html[data-neuto-theme="dark"] body.neuto-portal-app .neuto-form input,
html[data-neuto-theme="dark"] body.neuto-portal-app .neuto-form select,
html[data-neuto-theme="dark"] body.neuto-portal-app .neuto-form textarea,
html[data-neuto-theme="dark"] body.neuto-portal-app .mvp-field input,
html[data-neuto-theme="dark"] body.neuto-portal-app .mvp-field select,
html[data-neuto-theme="dark"] body.neuto-portal-app .mvp-field textarea,
html[data-neuto-theme="dark"] body.neuto-portal-app .verify-form input,
html[data-neuto-theme="dark"] body.neuto-portal-app .verification-review-form select,
html[data-neuto-theme="dark"] body.neuto-portal-app .rbac-assignment-form select{background:#0f1315!important;color:#edf1f2!important;border-color:#3a4347!important;box-shadow:none}
html[data-neuto-theme="dark"] body.neuto-portal-app input::placeholder,
html[data-neuto-theme="dark"] body.neuto-portal-app textarea::placeholder{color:#697277}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-action.secondary{background:#171c1e;color:#e9edef;border-color:#3a4347}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-action.secondary:hover{background:#22282b;border-color:#4a555a}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-content .button,
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-content .button-primary{background:#e9edef;color:#111517!important;border-color:#e9edef}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-content .button:hover,
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-content .button-primary:hover{background:#fff;border-color:#fff}
html[data-neuto-theme="dark"] body.neuto-portal-app .badge.ok{background:#12231b;border-color:#28523c;color:#7bd3a4}
html[data-neuto-theme="dark"] body.neuto-portal-app .badge.warn{background:#261f12;border-color:#5c4820;color:#d9b665}
html[data-neuto-theme="dark"] body.neuto-portal-app .badge.no{background:#271617;border-color:#623338;color:#e68e96}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-flash{background:#161a1c;border-color:#343c40;color:#dfe4e6}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-flash.success{background:#112219;border-color:#2d5d42;color:#8bd8ad}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-flash.error{background:#271718;border-color:#63363a;color:#ef9aa1}
html[data-neuto-theme="dark"] body.neuto-portal-app .access-role-badge,
html[data-neuto-theme="dark"] body.neuto-portal-app .rbac-cap-list span{background:#171c1e;border-color:#323a3e;color:#c7ced1}
html[data-neuto-theme="dark"] body.neuto-portal-app .policy-history article{border-color:#293033}

/* Standalone app layout: public navigation never leaks into the portal. */
body.neuto-portal-app .site-header{display:none!important}
body.neuto-portal-app .portal-sidebar{top:0!important;height:100vh!important}
body.admin-bar.neuto-portal-app .portal-sidebar{top:32px!important;height:calc(100vh - 32px)!important}

@media(max-width:980px){
  body.neuto-portal-app.portal-nav-open{overflow:hidden}
  body.neuto-portal-app .portal-sidebar{top:0!important;height:100dvh!important;padding-bottom:env(safe-area-inset-bottom)}
  body.admin-bar.neuto-portal-app .portal-sidebar{top:46px!important;height:calc(100dvh - 46px)!important}
  .portal-mobilebar{display:flex;gap:10px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .portal-mobile-brand{min-width:0;flex:1}.portal-mobile-brand>div{min-width:0}.portal-mobile-brand strong,.portal-mobile-brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .portal-mobile-actions{flex:0 0 auto}
  .portal-sidebar-close{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px}
}
@media(max-width:720px){
  body.admin-bar.neuto-portal-app .portal-mobilebar{top:46px}
  .portal-mobile-theme{width:40px;padding:0;font-size:0}.portal-mobile-theme .theme-mobile-icon{margin:0}
  .portal-mobile-logout{min-width:64px;padding:0 10px}
  .portal-mobile-brand>img{width:28px;height:28px}.portal-mobile-brand>div strong{font-size:.74rem}.portal-mobile-brand>div small{font-size:.56rem}
}
@media(max-width:430px){
  .portal-mobilebar{gap:7px}.mobile-sidebar-toggle{width:40px;height:40px;flex-basis:40px}
  .portal-mobile-brand>img{width:25px;height:25px}.portal-mobile-brand>div small{display:none}
  .portal-mobile-logout{min-width:56px;font-size:.57rem;padding:0 8px}
}


/* Neuto v2.3 — workspace management */
.workspace-switcher{padding:12px 12px 13px;overflow:hidden}
.workspace-switcher-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.workspace-switcher-head .workspace-label{margin:0}
.workspace-new{font-size:.58rem;font-weight:760;color:#9ea7ab;padding:3px 5px;border:1px solid #303639;border-radius:2px;line-height:1.25}
.workspace-new:hover{color:#fff;border-color:#5b666b;background:#1c2123}
.workspace-name{font-size:.78rem!important;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workspace-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:10px;min-width:0;align-items:start}
.workspace-meta code{display:block;max-width:100%;font-size:.52rem;color:#687176;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workspace-meta .workspace-role{margin:0;justify-self:start;display:inline-flex;align-items:center;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.25;padding:4px 7px;border-radius:999px;font-size:.53rem;letter-spacing:.025em}
.workspace-select-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.workspace-select-form select{min-width:0;width:100%;height:34px;background:#0f1214;color:#e5e9eb;border:1px solid #303639;border-radius:2px;padding:0 8px;font-size:.68rem;outline:none}
.workspace-select-form select:focus{border-color:#657178;box-shadow:0 0 0 2px rgba(96,244,255,.08)}
.workspace-select-form button{height:34px;border:1px solid #3c4448;background:#22272a;color:#dce1e3;border-radius:2px;padding:0 9px;font-size:.6rem;font-weight:740;cursor:pointer}
.workspace-select-form button:hover{background:#2b3235;color:#fff}
.workspace-management{margin-bottom:12px}
.workspace-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px}
.workspace-card{border:1px solid #dce0e2;background:#fff;padding:18px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.workspace-card.active{border-color:#9aa3a7;box-shadow:0 0 0 1px #9aa3a7 inset}
.workspace-card>div>span{display:block;font-size:.55rem;letter-spacing:.12em;color:#82898d;font-weight:760}
.workspace-card h3{font-size:1rem;letter-spacing:-.02em;margin:8px 0 7px}
.workspace-card code{font-size:.61rem;color:#747c80}
.workspace-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.63rem;color:#7c8488}
.workspace-card-meta form{margin:0}
.workspace-card-meta button{border:1px solid #cbd0d2;background:#f8f9f8;padding:6px 9px;font-size:.6rem;font-weight:720;cursor:pointer;border-radius:2px}
.workspace-card-meta button:hover{background:#111315;color:#fff;border-color:#111315}
.workspace-create-panel{border-top:1px solid #dfe2e3;padding:20px;display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;background:#f8f9f7}
.workspace-create-panel h3{font-size:1.05rem;margin:6px 0 8px;letter-spacing:-.025em}
.workspace-create-panel p{font-size:.72rem;color:#737b7f;max-width:430px;margin:0}
.workspace-create-panel form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
.workspace-create-panel label{display:grid;gap:6px;font-size:.65rem;font-weight:700}
.workspace-create-panel input,.workspace-create-panel select{height:42px;width:100%;border:1px solid #ccd1d3;background:#fff;padding:0 11px;border-radius:2px;outline:none}
.workspace-create-panel input:focus,.workspace-create-panel select:focus{border-color:#6f797d;box-shadow:0 0 0 2px rgba(49,95,154,.07)}
.workspace-create-panel .portal-action{grid-column:1/-1;justify-self:start}
.workspace-create-cta{border-top:1px solid #dfe2e3;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fafbfa}
.workspace-create-cta strong{font-size:.78rem}
.workspace-create-cta p{font-size:.65rem;color:#7c8488;margin:3px 0 0}
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-card{background:#15191b;border-color:#2d3437}
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-card.active{border-color:#536166;box-shadow:0 0 0 1px #536166 inset}
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-card h3{color:#eef2f3}
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-card code,
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-card-meta{color:#8e999e}
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-card-meta button{background:#171c1e;border-color:#343d41;color:#dbe0e2}
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-card-meta button:hover{background:#eef2f3;color:#111315;border-color:#eef2f3}
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-create-panel,
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-create-cta{background:#131719;border-color:#2d3437}
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-create-panel input,
html[data-neuto-theme="dark"] body.neuto-portal-app .workspace-create-panel select{background:#0f1315;color:#edf1f2;border-color:#3a4347}
@media(max-width:760px){
  .workspace-settings-grid{grid-template-columns:1fr;padding:12px}
  .workspace-card{min-height:130px;padding:15px}
  .workspace-create-panel{grid-template-columns:1fr;gap:20px;padding:16px}
  .workspace-create-panel form{grid-template-columns:1fr}
  .workspace-create-panel .portal-action{grid-column:auto;width:100%}
  .workspace-create-cta{align-items:flex-start;flex-direction:column;padding:16px}
  .workspace-create-cta .portal-action{width:100%}
}

/* v2.3.1 — workspace role containment */
.portal-sidebar .workspace-switcher,.portal-sidebar .workspace-meta{max-width:100%}
.portal-sidebar .workspace-role{box-sizing:border-box;overflow:hidden}
@media(max-width:980px){.workspace-meta .workspace-role{font-size:.55rem;max-width:100%}}


/* Neuto v2.4 — mobile application reliability + enterprise responsive system */
.mobile-sidebar-toggle,.menu-toggle,.portal-sidebar-close,.portal-mobile-theme,.portal-mobile-logout{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mobile-sidebar-toggle{position:relative;z-index:2;cursor:pointer;user-select:none;-webkit-user-select:none}
.mobile-sidebar-toggle span{pointer-events:none;transition:transform .18s ease,opacity .18s ease}
body.portal-nav-open .mobile-sidebar-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}
body.portal-nav-open .mobile-sidebar-toggle span:nth-child(2){opacity:0}
body.portal-nav-open .mobile-sidebar-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

@media(max-width:980px){
  body.site-nav-open{overflow:hidden}
  .menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border:1px solid var(--n-line);border-radius:3px;background:#fff;color:var(--n-ink);line-height:1}
  .primary-nav.is-open{max-height:calc(100dvh - 66px);overflow:auto;overscroll-behavior:contain}
  .primary-nav.is-open a{width:100%;min-height:46px;display:flex;align-items:center;padding:8px 2px}
  .primary-nav.is-open .nav-cta{justify-content:center;padding:11px 14px;margin-top:6px}

  body.neuto-portal-app .portal-shell{display:block;min-height:100dvh}
  body.neuto-portal-app .portal-sidebar{display:block!important;position:fixed!important;left:0!important;right:auto!important;bottom:0!important;width:min(88vw,320px)!important;max-width:320px;transform:translate3d(-105%,0,0)!important;visibility:hidden;pointer-events:none;transition:transform .22s cubic-bezier(.2,.7,.2,1),visibility .22s ease!important;z-index:320!important;box-shadow:24px 0 60px rgba(0,0,0,.28);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  body.neuto-portal-app .portal-sidebar.open,
  body.neuto-portal-app.portal-nav-open .portal-sidebar{transform:translate3d(0,0,0)!important;visibility:visible;pointer-events:auto}
  body.neuto-portal-app .portal-sidebar-scrim{display:block!important;position:fixed!important;inset:0!important;background:rgba(7,10,12,.58)!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;z-index:310!important;backdrop-filter:blur(2px)}
  body.neuto-portal-app.portal-nav-open .portal-sidebar-scrim{opacity:1;visibility:visible;pointer-events:auto}
  body.neuto-portal-app.portal-nav-open{overflow:hidden;touch-action:none}
  body.neuto-portal-app .portal-mobilebar{position:sticky!important;top:0;z-index:180!important;display:flex!important;width:auto;min-height:62px;margin:0 -22px 22px!important;padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important;background:#111315;color:#fff}
  body.admin-bar.neuto-portal-app .portal-mobilebar{top:46px!important}
  body.neuto-portal-app .portal-content{max-width:none;width:100%;padding:0 22px 56px;overflow-x:hidden}
  .mobile-sidebar-toggle{display:inline-flex!important;width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important;border-radius:4px}
  .mobile-sidebar-toggle span{width:17px!important;height:1.5px!important}
  .portal-sidebar-close{display:inline-flex!important;flex:0 0 42px}
  .portal-nav a{min-height:44px;padding:10px 11px;font-size:.8rem}
  .workspace-switcher{margin-left:12px;margin-right:12px}
  .portal-mobile-actions{display:flex;align-items:center;gap:7px;min-width:0}
  .portal-mobile-theme,.portal-mobile-logout{min-height:40px}
  .portal-page-head{gap:18px}.portal-title h1{overflow-wrap:anywhere}
  .panel,.metric-card,.settings-card,.workspace-card,.contact-form-card{max-width:100%}
  .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mvp-form-grid,.form-grid{min-width:0}
  input,select,textarea{max-width:100%}
}

@media(max-width:720px){
  .container{width:min(var(--n-max),calc(100% - 28px))}
  .header-row{height:64px;gap:14px}.header-nav-brand .nav-brand-copy small{display:none}.header-nav-brand .nav-brand-icon{width:28px;height:28px;flex-basis:28px}
  .hero-home,.public-page-hero{padding-top:58px;padding-bottom:54px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px}.hero-actions .btn{width:100%;min-height:48px}
  .section,.reality-section,.workflow-section{padding-top:64px;padding-bottom:64px}
  .section-head,.about-grid,.closing-grid,.api-home-grid,.dark-section-intro{gap:26px}
  .problem-grid,.platform-pillars,.about-principles,.scope-grid{min-width:0}
  .contact-grid,.usecase-columns{gap:24px}
  .neuto-contact-form input,.neuto-contact-form select,.neuto-contact-form textarea,.neuto-login-form input[type=text],.neuto-login-form input[type=password]{font-size:16px;min-height:48px}
  body.neuto-portal-app .portal-content{padding-left:14px;padding-right:14px;padding-bottom:max(44px,env(safe-area-inset-bottom))}
  body.neuto-portal-app .portal-mobilebar{margin-left:-14px!important;margin-right:-14px!important;margin-bottom:18px!important}
  .portal-mobile-brand{min-width:0}.portal-mobile-brand>div{min-width:0}.portal-mobile-brand strong{font-size:.72rem!important}.portal-mobile-brand small{max-width:120px}
  .portal-mobile-theme{width:40px;min-width:40px;padding:0!important}.portal-mobile-logout{min-width:58px;padding:0 8px!important}
  .portal-title h1{font-size:1.65rem!important;line-height:1.08}.portal-title p{font-size:.76rem;line-height:1.5}
  .portal-head-actions{grid-template-columns:1fr!important}.portal-head-actions .portal-action{min-height:46px}
  .metric-grid{grid-template-columns:1fr 1fr!important}.metric-card{min-height:120px}
  .data-table td{padding-left:40%!important}.data-table td:before{width:35%!important}
  .mvp-field input,.mvp-field select,.mvp-field textarea,.neuto-form input,.neuto-form select,.neuto-form textarea{font-size:16px;min-height:48px}
  .record-actions{flex-wrap:wrap}
  .workspace-settings-grid{padding:8px}.workspace-card{min-height:0}
  .rbac-assignment-form{grid-template-columns:1fr!important}.rbac-assignment-form button{width:100%}
  .portal-api-create{padding:16px}.mvp-form-inline{display:grid;grid-template-columns:1fr;gap:12px}.mvp-form-inline .portal-action{width:100%;justify-content:center}
  .api-secret-once code{font-size:.7rem;word-break:break-all}
}

@media(max-width:480px){
  .metric-grid{grid-template-columns:1fr!important}
  .portal-mobile-brand small{display:none!important}
  .portal-mobile-logout{font-size:.56rem}
  .portal-mobile-actions{gap:5px}
  .data-table td{padding:8px 0 8px 0!important}.data-table td:before{position:static!important;display:block;width:auto!important;margin-bottom:4px}
  .workspace-role{max-width:100%!important}
}

/* Portal-native API credential management */
.portal-api-manager{overflow:hidden}.portal-api-create{padding:18px;border-bottom:1px solid var(--n-line)}
.mvp-form-inline{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end;max-width:760px}.mvp-form-inline label{display:grid;gap:7px;font-size:.66rem;font-weight:740;color:#555d61}.mvp-form-inline label span{letter-spacing:.06em;text-transform:uppercase}.mvp-form-inline input{height:44px;border:1px solid #cfd4d6;background:#fff;padding:0 12px;border-radius:3px;outline:none}.mvp-form-inline input:focus{border-color:#6d777c;box-shadow:0 0 0 3px rgba(26,213,231,.08)}
.api-secret-once{margin:18px;border:1px solid #9fd8de;background:#eefcfd;padding:16px;display:grid;gap:8px}.api-secret-once>span{font-size:.59rem;letter-spacing:.12em;font-weight:800;color:#39757b}.api-secret-once code{display:block;padding:12px;background:#101416;color:#8ef5ff;border-radius:3px;font-size:.78rem;overflow-wrap:anywhere}.api-secret-once small{color:#607075;font-size:.66rem}
html[data-neuto-theme="dark"] body.neuto-portal-app .portal-api-create{border-color:#2c3336}html[data-neuto-theme="dark"] body.neuto-portal-app .mvp-form-inline label{color:#aab2b6}html[data-neuto-theme="dark"] body.neuto-portal-app .mvp-form-inline input{background:#0f1315;color:#edf1f2;border-color:#3a4347}html[data-neuto-theme="dark"] body.neuto-portal-app .api-secret-once{background:#102024;border-color:#2d6269}html[data-neuto-theme="dark"] body.neuto-portal-app .api-secret-once>span{color:#75dce6}


/* ========================================================================== 
   Neuto v2.4.3 — Control Room layout stabilization + responsive scrolling
   ========================================================================== */
html{min-height:100%}
body.neuto-portal-app{min-height:100%;overflow-x:hidden;overflow-y:auto!important;overscroll-behavior-y:auto}
body.neuto-portal-app .portal-site-main{display:block;min-height:100dvh;overflow:visible}
body.neuto-portal-app .portal-shell{width:100%;min-height:100dvh;align-items:start;overflow:visible}
body.neuto-portal-app .portal-content{min-width:0;min-height:100dvh;overflow:visible}
body.neuto-portal-app .portal-content>*{min-width:0;max-width:100%}
body.neuto-portal-app .portal-sidebar{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#343b3f #111315}
body.neuto-portal-app .portal-sidebar::-webkit-scrollbar{width:8px}
body.neuto-portal-app .portal-sidebar::-webkit-scrollbar-track{background:#111315}
body.neuto-portal-app .portal-sidebar::-webkit-scrollbar-thumb{background:#343b3f;border:2px solid #111315;border-radius:10px}
body.neuto-portal-app .portal-sidebar-foot{z-index:2}

/* Desktop must always remain vertically scrollable. Drawer scroll-lock is mobile-only. */
@media(min-width:981px){
  body.neuto-portal-app.portal-nav-open,body.portal-nav-open{overflow-y:auto!important;overflow-x:hidden!important;touch-action:auto!important}
  body.neuto-portal-app .portal-sidebar{transform:none!important;visibility:visible!important;pointer-events:auto!important}
  body.neuto-portal-app .portal-sidebar-scrim{display:none!important}
}

/* Prevent grid/flex children from forcing horizontal overflow. */
.portal-page-head,.portal-title-row,.portal-title,.portal-head-actions,.portal-system,
.metric-grid,.metric-card,.portal-dashboard-grid,.panel,.panel-head,.panel-body,
.posture-row,.queue-item,.catalog-summary,.policy-status-grid,.decision-banner,
.authorization-layout,.authorization-form-panel,.authorization-info,.form-grid,
.trace-hero,.trace-visual,.verification-layout,.verification-search,.passport-card,
.developer-grid,.developer-aside,.settings-grid,.workspace-settings-grid,.workspace-card,
.workspace-create-panel,.mvp-form-grid,.mvp-field,.mvp-form-actions,.entity-editor,
.registry-panel,.panel-tools,.table-search,.access-control-panel,.rbac-role-grid,
.rbac-role-card,.rbac-assignment-form,.portal-api-manager,.mvp-form-inline{min-width:0}

.portal-title h1,.portal-title p,.panel-head h2,.panel-head span,.metric-label,.metric-value,
.queue-item strong,.queue-item small,.workspace-card h3,.settings-card strong,
.endpoint-card strong,.endpoint-card p,.passport-title h2,.field-value{overflow-wrap:anywhere;word-break:normal}
.mono,code,.api-secret-once code,.endpoint-card code,.api-auth-example code{overflow-wrap:anywhere;word-break:break-word}

/* Panel/header alignment */
.panel-head{flex-wrap:wrap;align-items:center}
.panel-head>div{min-width:0;flex:1 1 220px}
.panel-head>span,.panel-head>a{flex:0 0 auto;max-width:100%}
.panel-tools{min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-end}
.table-search{min-width:0;max-width:100%}
.table-search input{min-width:0;max-width:100%}
.portal-page-head>div:first-child{min-width:0;flex:1 1 auto}
.portal-title-row{flex-wrap:wrap;align-items:flex-end}
.portal-title{min-width:0;flex:1 1 420px}
.portal-head-action,.portal-head-actions{max-width:100%}
.portal-system{flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}

/* Cards and forms */
.metric-card{height:auto}
.metric-card-top{min-width:0;align-items:flex-start}
.metric-label{line-height:1.35}
.metric-value.metric-text{line-height:1.08}
.mvp-field input,.mvp-field select,.mvp-field textarea,
.neuto-form input,.neuto-form select,.neuto-form textarea,
.workspace-create-panel input,.workspace-create-panel select,
.rbac-assignment-form select,.verify-form input{min-width:0;max-width:100%}
select{overflow:hidden;text-overflow:ellipsis}
.form-actions,.mvp-form-actions{flex-wrap:wrap}
.form-actions small,.mvp-form-actions>span{min-width:0;flex:1 1 240px;line-height:1.45}
.record-actions{max-width:100%;flex-wrap:wrap;white-space:normal}
.actions-cell{min-width:0}

/* Table behavior: desktop/tablet scrolls only inside the table region. */
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}
.data-table{min-width:720px;width:100%}
.data-table th,.data-table td{max-width:420px}
.data-table td:not(.mono){text-overflow:ellipsis;overflow:hidden}
.data-table td .record-actions,.data-table td .asset-name{overflow:visible}
.registry-panel .table-wrap,.access-users .table-wrap,.portal-api-manager .table-wrap{position:relative}

/* Workspace and RBAC containment */
.workspace-switcher,.workspace-card,.workspace-create-panel,.workspace-create-cta{max-width:100%;overflow:hidden}
.workspace-name,.workspace-meta code{max-width:100%}
.workspace-card-meta{flex-wrap:wrap;align-items:flex-start}
.workspace-card-meta>*{min-width:0}
.rbac-role-card>*{min-width:0}
.rbac-cap-list{min-width:0}
.rbac-cap-list span{max-width:100%;overflow-wrap:anywhere}
.rbac-assignment-form{max-width:100%}

/* Intermediate desktop/tablet layout */
@media(max-width:1280px) and (min-width:981px){
  .portal-content{padding-left:28px;padding-right:28px}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-dashboard-grid{grid-template-columns:1fr}
  .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .developer-grid{grid-template-columns:1fr}
  .authorization-layout,.verification-layout{grid-template-columns:1fr}
}

/* Mobile/tablet application shell */
@media(max-width:980px){
  html,body.neuto-portal-app{width:100%;max-width:100%;overflow-x:hidden}
  body.neuto-portal-app{overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  body.neuto-portal-app.portal-nav-open{overflow:hidden!important;touch-action:none}
  body.neuto-portal-app .portal-shell{display:block;width:100%;min-height:100dvh;overflow:visible}
  body.neuto-portal-app .portal-content{width:100%;max-width:100%;min-height:100dvh;overflow:visible}
  body.neuto-portal-app .portal-sidebar{overflow-y:auto!important;overflow-x:hidden!important}
  .portal-page-head{flex-direction:column;align-items:stretch}
  .portal-title-row{align-items:flex-start}
  .portal-system{display:none!important}
  .portal-head-action,.portal-head-actions{width:100%;margin-top:12px}
  .portal-head-actions{display:flex;flex-wrap:wrap;gap:8px}
  .portal-head-actions .portal-action{flex:1 1 180px;justify-content:center}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .portal-dashboard-grid,.authorization-layout,.verification-layout,.developer-grid{grid-template-columns:1fr!important}
  .developer-aside{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-grid,.workspace-settings-grid{grid-template-columns:1fr 1fr}
  .mvp-form-intro{grid-template-columns:1fr}
  .mvp-form-grid,.relation-editor .mvp-form-grid,.form-grid{grid-template-columns:1fr}
  .panel-head{align-items:flex-start}
  .panel-tools{width:100%;justify-content:flex-start}
  .registry-panel .panel-tools{min-width:0}
  .table-search{width:100%;height:40px}
  .table-search input{width:100%;font-size:16px}
  .authorization-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .auth-info-block{min-width:0}
  .workspace-create-panel{grid-template-columns:1fr}
}

/* Phone rendering converts wide tabular surfaces to readable record cards. */
@media(max-width:720px){
  body.neuto-portal-app .portal-content{width:100%;overflow:visible}
  .portal-mobilebar{box-sizing:border-box;max-width:calc(100% + 28px)}
  .portal-mobile-brand{overflow:hidden}
  .portal-mobile-actions{flex-shrink:0}
  .portal-page-head{gap:12px}
  .portal-title{flex-basis:auto}
  .portal-head-actions{display:grid;grid-template-columns:1fr!important}
  .portal-head-actions .portal-action,.portal-head-action .portal-action{width:100%;justify-content:center;min-height:46px}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .metric-card{min-width:0;min-height:118px;padding:14px}
  .metric-value{font-size:1.85rem;margin-top:20px}
  .metric-value.metric-text{font-size:1.25rem}
  .panel-head{gap:10px}
  .panel-head>div{flex-basis:100%}
  .panel-head>span,.panel-head>a{white-space:normal}
  .panel-body{padding:16px}
  .posture-row{grid-template-columns:minmax(92px,120px) minmax(0,1fr) 32px}
  .queue-item{grid-template-columns:24px minmax(0,1fr) auto 18px}
  .queue-item strong,.queue-item small{white-space:normal;overflow-wrap:anywhere}
  .catalog-summary{grid-template-columns:1fr 1fr}
  .policy-status-grid{grid-template-columns:1fr 1fr}
  .authorization-info{display:none}
  .trace-hero{grid-template-columns:1fr;gap:24px;padding:18px}
  .trace-visual{grid-template-columns:1fr}
  .verification-search{padding:20px}
  .verification-search h2,.passport-title h2{font-size:1.55rem}
  .passport-card-top,.passport-title,.passport-foot{padding-left:16px;padding-right:16px}
  .passport-grid{grid-template-columns:1fr;margin-left:16px;margin-right:16px}
  .developer-aside,.settings-grid,.workspace-settings-grid{grid-template-columns:1fr}
  .api-key-body{flex-direction:column;align-items:stretch}
  .mvp-form-grid,.mvp-form-intro,.mvp-form-actions{padding-left:14px;padding-right:14px}
  .mvp-form-actions{align-items:stretch}
  .mvp-form-actions .portal-action,.form-actions button{width:100%;justify-content:center;min-height:46px}
  .workspace-create-panel form{grid-template-columns:1fr}
  .workspace-create-panel .portal-action{grid-column:auto;width:100%}
  .rbac-assignment-form{display:grid;grid-template-columns:1fr!important;width:100%;min-width:0}
  .rbac-assignment-form select,.rbac-assignment-form button{width:100%;min-width:0;min-height:44px}

  .table-wrap{overflow:visible!important}
  .data-table{min-width:0!important;width:100%;display:block}
  .data-table tbody{display:grid!important;gap:10px;padding:12px!important}
  .data-table tr{display:block!important;width:100%;padding:12px 13px!important;border:1px solid #e2e5e6!important;background:#fff;border-radius:4px;overflow:hidden}
  .data-table td{display:grid!important;grid-template-columns:minmax(92px,36%) minmax(0,1fr);gap:10px;align-items:start;width:100%;min-height:0!important;padding:7px 0!important;border:0!important;white-space:normal!important;overflow:visible!important;max-width:none!important}
  .data-table td:before{content:attr(data-label);position:static!important;width:auto!important;min-width:0;font-size:.53rem;letter-spacing:.08em;text-transform:uppercase;color:#858c90;font-weight:760;line-height:1.35;margin:0!important}
  .data-table td>*{min-width:0;max-width:100%}
  .data-table td.mono{word-break:break-all}
  .data-table td.actions-cell{display:block!important;padding-top:10px!important;border-top:1px solid #eef0f1!important;margin-top:4px}
  .record-actions{justify-content:flex-start;gap:14px}
  html[data-neuto-theme="dark"] body.neuto-portal-app .data-table tr{background:#15191b!important;border-color:#2d3437!important}
  html[data-neuto-theme="dark"] body.neuto-portal-app .data-table td.actions-cell{border-color:#2a3134!important}
}

@media(max-width:480px){
  .metric-grid{grid-template-columns:1fr!important}
  .catalog-summary,.policy-status-grid{grid-template-columns:1fr!important}
  .catalog-summary>div{border-right:0!important;border-bottom:1px solid #e3e5e6}
  .catalog-summary>div:last-child{border-bottom:0}
  .posture-row{grid-template-columns:1fr 34px;gap:8px}
  .posture-row>div:first-child{grid-column:1/-1}
  .posture-track{grid-column:1}
  .posture-row b{grid-column:2;grid-row:2}
  .queue-item{grid-template-columns:22px minmax(0,1fr) auto}
  .queue-arrow{display:none}
  .portal-mobile-logout{min-width:54px}
  .portal-mobile-theme{min-width:40px}
  .data-table td{grid-template-columns:1fr!important;gap:4px}
  .data-table td:before{display:block!important}
  .workspace-card-meta{display:grid;grid-template-columns:1fr}
}


/* ========================================================================== 
   Neuto v2.5.1 — Control Room rendering + alignment hardening
   ========================================================================== */

/* Application shell: keep chrome fixed and make the navigation/content scroll
   independently. This prevents a long page from trapping or covering controls. */
body.neuto-portal-app{overflow-x:hidden!important;overflow-y:auto!important}
body.neuto-portal-app .portal-shell{grid-template-columns:264px minmax(0,1fr);align-items:start;overflow:visible!important}
body.neuto-portal-app .portal-sidebar{display:flex!important;flex-direction:column;overflow:hidden!important;min-width:0}
body.neuto-portal-app .portal-sidebar-head,
body.neuto-portal-app .workspace-switcher,
body.neuto-portal-app .portal-sidebar-foot{flex:0 0 auto}
body.neuto-portal-app .portal-nav{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#343b3f #111315}
body.neuto-portal-app .portal-nav::-webkit-scrollbar{width:7px}
body.neuto-portal-app .portal-nav::-webkit-scrollbar-track{background:#111315}
body.neuto-portal-app .portal-nav::-webkit-scrollbar-thumb{background:#343b3f;border-radius:10px}
body.neuto-portal-app .portal-sidebar-foot{position:static!important;width:100%;box-sizing:border-box}
body.neuto-portal-app .portal-content{box-sizing:border-box;min-width:0;max-width:1600px;width:100%;overflow:visible!important}

/* Defensive sizing. Long enterprise identifiers and labels must never force a
   flex/grid track wider than the available portal column. */
.portal-content *,
.portal-sidebar *{box-sizing:border-box}
.portal-page-head>*,.portal-title-row>*,.portal-head-actions>*,.metric-card>*,
.panel-head>*,.panel-tools>*,.queue-item>*,.posture-row>*,.decision-banner>*,
.authorization-layout>*,.verification-layout>*,.developer-grid>*,.developer-aside>*,
.settings-grid>*,.rbac-role-card>*,.audit-row>*,.passport-card-top>*,.passport-grid>*{min-width:0}
.portal-title h1,.portal-title p,.panel-head h2,.panel-head>span,.panel-head>a,
.metric-label,.metric-sub,.queue-item strong,.queue-item small,.posture-row strong,
.posture-row span,.decision-banner strong,.decision-banner code,.field-value,
.settings-card strong,.settings-card p,.endpoint-card strong,.endpoint-card p,
.audit-row strong,.audit-row small,.audit-row code,.passport-title h2,.passport-title code,
.api-auth-example code,.codebar code,.workspace-role{overflow-wrap:anywhere;word-break:normal}

/* Page headers and panel headers: allow secondary state text to move to its own
   line instead of colliding with titles or action buttons. */
.portal-page-head{align-items:flex-start}
.portal-title-row{align-items:flex-end;flex-wrap:wrap}
.portal-title{flex:1 1 460px}
.portal-head-action{flex:0 1 auto;max-width:100%}
.portal-head-actions{max-width:100%}
.portal-system{flex:0 0 auto;max-width:100%;justify-content:flex-end;flex-wrap:wrap}
.panel-head{height:auto!important;min-height:66px;align-items:center;flex-wrap:wrap}
.panel-head>div{flex:1 1 240px;min-width:0}
.panel-head>span,.panel-head>a{flex:0 1 auto;max-width:48%;text-align:right;white-space:normal;line-height:1.4}
.panel-tools{flex:1 1 320px;max-width:560px;justify-content:flex-end;flex-wrap:wrap}
.panel-tools .table-search{flex:1 1 190px;max-width:360px}
.panel-tools .table-search input{width:100%!important;min-width:0}

/* Metrics and dashboard surfaces */
.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric-card{height:auto!important;min-height:150px;display:flex;flex-direction:column}
.metric-card-top{align-items:flex-start}
.metric-value{margin-top:auto;padding-top:26px}
.metric-rule{margin-top:18px}
.portal-dashboard-grid{align-items:start}
.posture-row{grid-template-columns:minmax(130px,170px) minmax(0,1fr) 44px}
.queue-item{grid-template-columns:28px minmax(0,1fr) minmax(28px,auto) 22px}
.queue-item b{text-align:right}

/* Registry tables. Desktop/tablet scroll only inside the registry, while data
   cells can still render nested actions/badges without clipping. */
.table-wrap{width:100%;max-width:100%;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.data-table{width:100%;min-width:760px;table-layout:auto}
.data-table th,.data-table td{max-width:420px}
.data-table td{overflow:visible!important;text-overflow:clip!important}
.data-table td>strong,.data-table td>.cell-sub,.data-table td>a{max-width:100%;overflow-wrap:anywhere}
.data-table td.mono,.data-table td .mono{overflow-wrap:anywhere;word-break:break-all}
.data-table .badge{max-width:100%;white-space:normal;text-align:left;line-height:1.35}
.record-actions{max-width:100%;flex-wrap:wrap;justify-content:flex-start;white-space:normal}
.actions-cell{min-width:110px}

/* Authorization: prevent long decision IDs and reason codes from overlapping. */
.decision-banner{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.35fr);align-items:start}
.decision-banner>div{min-width:0}
.decision-banner code{white-space:normal;word-break:break-all}
.authorization-layout{grid-template-columns:minmax(0,1.25fr) minmax(250px,.55fr);align-items:stretch}
.authorization-form-panel{min-width:0}
.authorization-info{min-width:0;display:flex;flex-direction:column}
.auth-info-block{flex:1 1 0;min-width:0}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.neuto-form label,.neuto-form input,.neuto-form select,.neuto-form textarea,.check-row{min-width:0;max-width:100%}
.neuto-form select{width:100%;text-overflow:ellipsis}
.check-row{height:auto;min-height:44px;white-space:normal}
.form-actions{flex-wrap:wrap}
.form-actions small{flex:1 1 240px;min-width:0}

/* TRACEABILITY FIX: .trace-visual is the panel container, not the graph itself.
   Previously the panel header and graph were forced into three narrow columns. */
.trace-visual{display:block!important;grid-template-columns:none!important;align-items:initial!important;gap:0!important}
.trace-visual .panel-head{width:100%}
.trace-chain{display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);gap:16px;align-items:center;padding:26px 24px;min-width:0}
.trace-node{min-width:0;min-height:132px;height:auto;padding:20px}
.trace-node strong,.trace-node small{overflow-wrap:anywhere}
.trace-edge{min-width:0;padding:0 4px}
.trace-edge span{display:block;overflow-wrap:anywhere;line-height:1.35}
.transform-cell{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Verification passport */
.verification-layout{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:stretch}
.verification-search,.passport-card,.verification-placeholder{min-width:0;height:auto}
.verify-form{min-width:0}
.verify-form input{width:100%;min-width:0}
.verify-form button{flex:0 0 auto;white-space:nowrap}
.passport-card-top{gap:14px;flex-wrap:wrap}
.passport-brand{min-width:0}
.passport-brand>div{min-width:0}
.passport-title code{display:block;white-space:normal;word-break:break-all}
.passport-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.passport-grid>div{min-width:0}

/* Developer API: the former three-card aside was too narrow next to the code
   window. Stack endpoints in the right rail for an enterprise documentation UI. */
.developer-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start}
.developer-code{min-width:0}
.developer-aside{grid-template-columns:1fr!important;align-content:start}
.endpoint-card{height:auto;min-height:0}
.endpoint-card strong{margin-top:14px}
.endpoint-card code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.codebox{width:100%;max-width:100%;overflow:hidden}
.codebar{min-width:0;flex-wrap:wrap}
.codebar code{min-width:0;max-width:100%;white-space:normal;word-break:break-all}
.codebox pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:pre;tab-size:2}
.api-key-body{min-width:0;flex-wrap:wrap}
.api-key-body>div{min-width:0;max-width:100%}
.api-auth-example code{white-space:normal;word-break:break-all}

/* Settings, RBAC and audit */
.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.settings-card{height:auto!important;min-height:150px;display:flex;flex-direction:column}
.settings-card strong{margin-top:28px}
.settings-card p{margin-bottom:0;overflow-wrap:anywhere}
.rbac-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.rbac-summary>div{min-width:0}
.rbac-summary strong{overflow-wrap:anywhere}
.rbac-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rbac-role-card{grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);align-items:start}
.rbac-cap-list span{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.rbac-assignment-form{min-width:0;max-width:100%;flex-wrap:wrap}
.rbac-assignment-form select{flex:1 1 220px;min-width:0;max-width:100%}
.audit-row{grid-template-columns:14px minmax(0,1fr) minmax(120px,auto)}
.audit-row code{max-width:280px;text-align:right;white-space:normal;word-break:break-all}
.boundary-tags span{max-width:100%;overflow-wrap:anywhere}

/* Workspace management */
.workspace-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.workspace-card{height:auto!important;min-width:0}
.workspace-card h3,.workspace-card code{max-width:100%;overflow-wrap:anywhere}
.workspace-card code{word-break:break-all}
.workspace-card-meta{display:flex;flex-wrap:wrap;align-items:center}
.workspace-card-meta>*{min-width:0}
.workspace-create-panel{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}
.workspace-create-panel form{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1180px){
  body.neuto-portal-app .portal-content{padding-left:28px;padding-right:28px}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-dashboard-grid{grid-template-columns:1fr}
  .authorization-layout,.verification-layout,.developer-grid{grid-template-columns:1fr}
  .authorization-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .auth-info-block{border-bottom:0;border-right:1px solid #2a2e31}
  .auth-info-block:last-child{border-right:0}
  .developer-aside{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .rbac-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rbac-role-grid{grid-template-columns:1fr}
  .rbac-role-card{border-right:0!important}
}

@media(max-width:980px){
  body.neuto-portal-app .portal-shell{display:block!important}
  body.neuto-portal-app .portal-sidebar{display:flex!important;position:fixed!important;overflow:hidden!important}
  body.neuto-portal-app .portal-nav{overflow-y:auto!important}
  body.neuto-portal-app .portal-content{max-width:none;width:100%;padding:0 22px 56px!important}
  .portal-page-head{flex-direction:column;align-items:stretch;gap:16px}
  .portal-title{flex-basis:auto}
  .portal-system{display:none!important}
  .portal-head-action,.portal-head-actions{width:100%}
  .portal-head-actions{justify-content:flex-start}
  .panel-head>span,.panel-head>a{max-width:100%;text-align:left}
  .panel-tools{max-width:none;width:100%;justify-content:flex-start}
  .panel-tools .table-search{max-width:none;width:100%}
  .decision-banner{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trace-chain{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);padding:22px 18px}
  .settings-grid,.workspace-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace-create-panel{grid-template-columns:1fr}
}

@media(max-width:720px){
  body.neuto-portal-app .portal-content{padding-left:14px!important;padding-right:14px!important;padding-bottom:max(50px,env(safe-area-inset-bottom))!important}
  .portal-page-head{margin-bottom:20px}
  .portal-title h1{font-size:1.7rem!important;line-height:1.08}
  .portal-title p{font-size:.78rem;line-height:1.55}
  .portal-head-actions{display:grid!important;grid-template-columns:1fr!important}
  .portal-head-actions .portal-action{width:100%;justify-content:center}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .metric-card{min-height:118px;padding:14px}
  .metric-label{font-size:.66rem;line-height:1.35}
  .metric-value{padding-top:20px;font-size:1.9rem}
  .panel{margin-top:12px}
  .panel-head{padding:13px 14px;gap:8px}
  .panel-body{padding:16px}
  .posture-row{grid-template-columns:minmax(0,1fr) 40px;gap:8px}
  .posture-row>div:first-child{grid-column:1/-1}
  .posture-track{grid-column:1}
  .posture-row b{grid-column:2;grid-row:2}
  .queue-item{grid-template-columns:24px minmax(0,1fr) auto;padding:13px 14px}
  .queue-arrow{display:none}
  .decision-banner{grid-template-columns:1fr;gap:12px;padding:14px}
  .authorization-info{display:none!important}
  .form-grid,.mvp-form-grid,.relation-editor .mvp-form-grid{grid-template-columns:1fr!important}
  .form-actions{align-items:stretch;flex-direction:column}
  .form-actions button{width:100%;min-height:46px}
  .trace-chain{grid-template-columns:1fr!important;gap:12px;padding:16px}
  .trace-node{min-height:0;padding:16px}
  .trace-edge{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center;text-align:left;padding:2px 6px}
  .trace-edge i{width:1px;height:28px;margin:0 auto;background:#aab0b3}
  .trace-edge i:after{right:-3px;top:auto;bottom:-1px;transform:rotate(135deg)}
  .verification-layout{grid-template-columns:1fr!important;gap:12px}
  .verification-search{padding:20px 16px}
  .verification-search h2,.passport-title h2{font-size:1.55rem}
  .verify-form{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .passport-card-top{align-items:flex-start}
  .passport-grid{grid-template-columns:1fr;margin-left:16px;margin-right:16px}
  .developer-aside{grid-template-columns:1fr!important}
  .settings-grid,.workspace-settings-grid{grid-template-columns:1fr!important}
  .settings-card{min-height:0;padding:18px}
  .settings-card strong{margin-top:20px}
  .rbac-summary{grid-template-columns:1fr 1fr}
  .rbac-role-card{grid-template-columns:1fr;gap:16px;padding:18px 16px}
  .audit-row{grid-template-columns:12px minmax(0,1fr)}
  .audit-row code{grid-column:2;max-width:100%;text-align:left;margin-top:3px}
  .workspace-create-panel form{grid-template-columns:1fr}
  .workspace-create-panel .portal-action{grid-column:auto;width:100%}

  /* Mobile registry: semantic record cards, no sideways page scroll. */
  .table-wrap{overflow:visible!important}
  .data-table{display:block!important;min-width:0!important;width:100%!important}
  .data-table thead{display:none!important}
  .data-table tbody{display:grid!important;gap:10px;padding:12px!important}
  .data-table tr{display:block!important;width:100%;padding:12px 13px!important;border:1px solid #e2e5e6!important;background:#fff;border-radius:4px;overflow:hidden}
  .data-table td{display:grid!important;grid-template-columns:minmax(96px,36%) minmax(0,1fr);gap:10px;width:100%;max-width:none!important;min-height:0!important;padding:7px 0!important;border:0!important;white-space:normal!important;overflow:visible!important}
  .data-table td:before{content:attr(data-label);position:static!important;width:auto!important;font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:#858c90;font-weight:760;line-height:1.35;margin:0!important}
  .data-table td.actions-cell{display:block!important;padding-top:10px!important;border-top:1px solid #eef0f1!important;margin-top:4px}
  .data-table .record-actions{justify-content:flex-start}
  html[data-neuto-theme="dark"] body.neuto-portal-app .data-table tr{background:#15191b!important;border-color:#2d3437!important}
  html[data-neuto-theme="dark"] body.neuto-portal-app .data-table td.actions-cell{border-color:#2a3134!important}
}

@media(max-width:430px){
  .metric-grid{grid-template-columns:1fr!important}
  .catalog-summary,.policy-status-grid{grid-template-columns:1fr!important}
  .catalog-summary>div{border-right:0;border-bottom:1px solid #e3e5e6}
  .catalog-summary>div:last-child{border-bottom:0}
  .policy-status-grid>div{min-height:62px}
  .verify-form{grid-template-columns:1fr}
  .verify-form input{border-right:1px solid #cfd3d5!important}
  .verify-form button{width:100%;margin-top:8px}
  .rbac-summary{grid-template-columns:1fr}
  .data-table td{grid-template-columns:1fr!important;gap:4px}
  .data-table td:before{display:block!important}
}

/* Neuto AI v3.6.1 — brand microtype shared with the Creator Passport shell. */
.neuto-tm{display:inline-block;margin-left:.08em;font-size:.46em;line-height:1;font-weight:700;letter-spacing:0;vertical-align:super;transform:translateY(-.08em)}
body.neuto-portal-app .portal-brand-lockup{gap:13px}


/* ==============================================================
   Neuto v3.6.4 — unified icon + Neuto™ brand lockup
   Visible brand marks are intentionally limited to the waveform icon and
   Neuto™. Product/context labels remain separate from the logo itself.
   ============================================================== */
.nav-brand-lockup,
.portal-brand-lockup,
.login-brand-lockup{
  display:inline-flex;
  align-items:center;
  flex-direction:row;
  min-width:0;
}
.nav-brand-lockup{gap:13px}
.portal-brand-lockup{gap:12px}
.login-brand-lockup{gap:13px}
.nav-brand-copy,
.portal-brand-copy,
.login-brand-lockup .login-brand-copy{
  display:flex;
  align-items:center;
  flex-direction:row;
  min-width:0;
  line-height:1;
  margin:0;
}
.nav-brand-copy strong,
.portal-brand-copy strong,
.login-brand-lockup .login-brand-copy strong{
  display:inline-flex;
  align-items:flex-start;
  white-space:nowrap;
}
.nav-brand-lockup .neuto-tm,
.portal-brand-lockup .neuto-tm,
.login-brand-lockup .neuto-tm,
.portal-mobile-brand .neuto-tm{
  font-size:.42em;
  margin-left:.08em;
  transform:translateY(-.12em);
}
body.neuto-login-page .login-logo{width:auto;max-width:190px}
body.neuto-login-page .login-mobile-brand>small{display:none}
body.neuto-portal-app .portal-logo-link{display:inline-flex;align-items:center;max-width:100%}
@media(max-width:720px){
  .nav-brand-lockup{gap:10px}
  .portal-brand-lockup{gap:10px}
  .login-brand-lockup{gap:10px}
}

/* ========================================================================== 
   Neuto v3.6.7 — authoritative monochrome brand icon + favicon refresh
   Standardize the new circular white-on-black mark across public, login and
   Control Room surfaces while preserving the native Neuto™ wordmark.
   ========================================================================== */
.nav-brand-icon,
.portal-brand-icon,
.login-brand-icon,
.portal-mobile-brand>img{
  border-radius:50%;
  background:#030405;
  object-fit:cover;
  filter:drop-shadow(0 0 0 rgba(0,0,0,0))!important;
}
body:not(.neuto-portal-app) .nav-brand-ai .nav-brand-icon{
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 0 0 1px rgba(255,255,255,.025);
}
body.neuto-login-page .login-brand-lockup .login-brand-icon{
  border:1px solid rgba(16,19,21,.12);
  box-shadow:0 5px 16px rgba(10,12,14,.08);
}
.portal-brand-icon,
.portal-mobile-brand>img{
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
html[data-neuto-theme="light"] body.neuto-portal-app .portal-brand-icon,
html[data-neuto-theme="light"] body.neuto-portal-app .portal-mobile-brand>img{
  border-color:rgba(15,18,20,.16);
  box-shadow:0 4px 14px rgba(15,18,20,.10);
}


/* Neuto v3.6.7 — single-source logo lockup */
.neuto-brand-lockup{display:inline-flex;align-items:center;gap:11px;min-width:0}
.neuto-brand-lockup .neuto-brand-icon{display:block;width:32px;height:32px;flex:0 0 32px;border-radius:50%;object-fit:cover;background:#000}
.neuto-brand-lockup .neuto-brand-copy{display:flex;align-items:center;line-height:1;min-width:0}
.neuto-brand-lockup .neuto-brand-copy strong{font-size:1rem;font-weight:760;letter-spacing:-.045em;white-space:nowrap}
body.neuto-login-page .neuto-brand-lockup .neuto-brand-copy strong{color:#101315}
body.neuto-portal-app .neuto-brand-lockup .neuto-brand-copy strong{color:#f4f5f5}
html[data-neuto-theme="light"] body.neuto-portal-app .neuto-brand-lockup .neuto-brand-copy strong{color:#111416}


/* ========================================================================== 
   Neuto v3.6.8 — architectural NEUTO™ wordmark typography
   Visual reference: wide uppercase geometric lettering supplied by the brand.
   The wordmark remains native text for responsiveness, accessibility and
   theme-aware contrast across public, login and Creator Passport surfaces.
   ========================================================================== */
:root{
  --neuto-wordmark-font:"Helvetica Neue",Helvetica,Arial,system-ui,-apple-system,sans-serif;
  --neuto-wordmark-track:.265em;
  --neuto-wordmark-weight:300;
}

/* Shared visible brand wordmark. */
.nav-brand-copy strong,
.neuto-brand-copy strong,
.portal-brand-copy strong,
.portal-mobile-brand strong,
.login-brand-copy strong,
.n-chip__head .n-h3{
  font-family:var(--neuto-wordmark-font)!important;
  font-weight:var(--neuto-wordmark-weight)!important;
  font-style:normal!important;
  text-transform:uppercase;
  letter-spacing:var(--neuto-wordmark-track)!important;
  line-height:.92!important;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  font-synthesis:none;
}

/* Do not let the trailing trademark inherit the wide tracking. */
.nav-brand-copy .neuto-tm,
.neuto-brand-copy .neuto-tm,
.portal-brand-copy .neuto-tm,
.portal-mobile-brand .neuto-tm,
.login-brand-copy .neuto-tm,
.n-chip__head .n-h3 .neuto-tm,
.neuto-tm{
  display:inline-block;
  margin-left:.16em!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:.29em!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1!important;
  text-transform:none!important;
  vertical-align:top!important;
  transform:translateY(-.12em)!important;
}

/* Public dark brand surfaces. */
body:not(.neuto-portal-app) .header-nav-brand .nav-brand-copy strong,
body:not(.neuto-portal-app) .footer-nav-brand .nav-brand-copy strong{
  color:#f7f7f4!important;
}

/* Login is intentionally light. */
body.neuto-login-page .login-brand-copy strong{
  color:#111315!important;
}

/* Creator Passport shell follows the active application theme. */
body.neuto-portal-app .portal-brand-copy strong,
body.neuto-portal-app .portal-mobile-brand strong{
  color:#f3f4f4!important;
}
html[data-neuto-theme="light"] body.neuto-portal-app .portal-brand-copy strong,
html[data-neuto-theme="light"] body.neuto-portal-app .portal-mobile-brand strong{
  color:#111416!important;
}

/* Preserve the spacious reference look without making navigation oversized. */
.header-nav-brand .nav-brand-copy strong{font-size:.92rem!important}
.footer-nav-brand .nav-brand-copy strong{font-size:.95rem!important}
body.neuto-login-page .login-brand-copy strong{font-size:1rem!important}
body.neuto-portal-app .portal-brand-copy strong{font-size:.88rem!important}
body.neuto-portal-app .portal-mobile-brand strong{font-size:.82rem!important}

/* Creator Passport sample/verification brand labels use the same family at a
   slightly tighter tracking so card layouts remain stable on small screens. */
.n-chip__head .n-h3{
  letter-spacing:.19em!important;
}

@media(max-width:720px){
  :root{--neuto-wordmark-track:.22em}
  .header-nav-brand .nav-brand-copy strong{font-size:.83rem!important}
  body.neuto-portal-app .portal-mobile-brand strong{font-size:.76rem!important}
}
