body{background:var(--rx-canvas)}.gate{background:var(--rx-surface);border:1px solid var(--rx-border);border-radius:var(--rx-radius-xl);box-shadow:var(--rx-shadow-md);margin:10vh auto;max-width:31rem;padding:2.5rem}.gate .roxiro-logo{margin-bottom:2rem;width:12rem}.shell{display:grid;grid-template-columns:19rem 1fr;min-height:100vh}.shell>aside{background:var(--rx-slate-950);color:var(--rx-sage-100);display:flex;flex-direction:column;height:100vh;padding:1.4rem;position:sticky;top:0}.brand{align-items:center;color:inherit;display:flex;gap:.8rem;text-decoration:none}.brand .roxiro-logo{border-radius:.5rem;width:7.8rem}.brand span{display:grid}.brand small{color:var(--rx-sage-300);font-size:.68rem}.nav-group>p{color:var(--rx-sage-300);font-size:.62rem;font-weight:800;letter-spacing:.13em;margin:1.4rem .7rem .4rem;text-transform:uppercase}.nav-item{align-items:flex-start;border-radius:.7rem;color:var(--rx-sage-100);display:flex;font-size:.87rem;gap:.65rem;padding:.65rem .7rem;text-decoration:none}.nav-item:hover,.nav-item.active{background:color-mix(in srgb,var(--rx-sage-500) 22%,transparent);color:#fff}.nav-icon{align-items:center;background:color-mix(in srgb,var(--rx-sage-500) 30%,transparent);border-radius:.45rem;display:flex;font-size:.68rem;height:1.6rem;justify-content:center;width:1.6rem}.nav-item span:last-child{display:grid}.nav-item small{color:var(--rx-sage-300);font-size:.57rem;line-height:1.4;margin-top:.18rem}.shell>aside footer{border-top:1px solid color-mix(in srgb,var(--rx-sage-300) 25%,transparent);font-size:.72rem;margin-top:auto;padding-top:1rem}.shell>aside footer>div{display:flex;gap:.4rem;margin-top:.6rem}.shell>aside footer button{background:transparent;border:1px solid color-mix(in srgb,var(--rx-sage-300) 35%,transparent);border-radius:.55rem;color:inherit;min-height:2.35rem;padding:.45rem .65rem}.workspace>header{align-items:center;background:color-mix(in srgb,var(--rx-surface) 92%,transparent);border-bottom:1px solid var(--rx-border);display:flex;justify-content:space-between;padding:1.35rem 2rem;position:sticky;top:0;z-index:4;backdrop-filter:blur(15px)}.workspace>header h1{font-size:1.8rem;margin:0}.system-state{background:var(--rx-sage-100);border-radius:999px;color:var(--rx-sage-700);font-size:.7rem;font-weight:800;padding:.45rem .7rem}.content{display:grid;gap:1rem;padding:1.5rem 2rem}.kpis{display:grid;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:var(--rx-surface);border:1px solid var(--rx-border);border-radius:var(--rx-radius-md);padding:1.1rem}.kpi span{color:var(--rx-muted);display:block;font-size:.74rem}.kpi strong{display:block;font-size:1.75rem;margin-top:.4rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{overflow:auto;padding:1rem}.panel.wide{grid-column:1/-1}.panel-head{align-items:center;display:flex;justify-content:space-between}.panel h2{font-size:1rem;margin:.2rem 0 1rem}.row{border-top:1px solid var(--rx-border);display:grid;gap:.7rem;min-width:max-content;padding:.75rem .2rem}.row[data-columns="2"]{grid-template-columns:repeat(2,minmax(7rem,1fr))}.row[data-columns="4"]{grid-template-columns:repeat(4,minmax(7rem,1fr))}.row[data-columns="5"]{grid-template-columns:repeat(5,minmax(7rem,1fr))}.row[data-columns="6"]{grid-template-columns:repeat(6,minmax(7rem,1fr))}.row[data-columns="7"]{grid-template-columns:repeat(7,minmax(7rem,1fr))}.row.head{color:var(--rx-muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.row span,.row strong{font-size:.77rem}.empty{color:var(--rx-muted);padding:2rem;text-align:center}.notice{font-size:.8rem}
@media(max-width:950px){.shell{grid-template-columns:5rem 1fr}.brand span,.nav-group>p,.nav-item span:last-child,.shell>aside footer>span{display:none}.brand .roxiro-logo{width:3rem}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.shell{display:block}.shell>aside{height:auto;position:static}.shell>aside nav{display:flex;overflow:auto}.nav-group{display:flex}.nav-item{flex:0 0 auto}.shell>aside footer{display:none}.workspace>header,.content{padding:1rem}.grid{grid-template-columns:1fr}}
