.app-shell{display:flex;min-height:100vh;}

.sidebar{width:224px;flex-shrink:0;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;padding:18px 0;}
.sidebar .logo{padding:0 20px 18px;font-weight:700;font-size:14px;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px;}
.sidebar .logo .sub{display:block;font-family:var(--mono);font-size:10px;font-weight:400;color:rgba(255,255,255,.45);margin-top:3px;}
.sidebar .navgroup-label{padding:14px 20px 6px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.35);}

.sidebar .marca-selector{display:flex;align-items:center;gap:8px;padding:0 20px 14px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:4px;}
.sidebar .marca-selector .initial{width:26px;height:26px;border-radius:50%;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:11px;flex-shrink:0;}
.sidebar .marca-selector select{flex:1;font-family:var(--sans);font-size:13px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:var(--paper);color:var(--ink);cursor:pointer;}

.navitem{display:flex;align-items:center;gap:10px;padding:9px 20px;font-size:13px;color:rgba(255,255,255,.72);cursor:pointer;border-left:3px solid transparent;}
.navitem:hover{color:var(--paper);background:rgba(255,255,255,.05);}
.navitem.active{color:var(--paper);background:rgba(255,255,255,.08);border-left-color:var(--teal);font-weight:600;}
.navitem.disabled{color:rgba(255,255,255,.28);cursor:default;}
.navitem.disabled:hover{background:none;color:rgba(255,255,255,.28);}
.navitem .soon{margin-left:auto;font-family:var(--mono);font-size:8.5px;background:rgba(255,255,255,.1);padding:2px 6px;border-radius:3px;}

.main{flex:1;min-width:0;display:flex;flex-direction:column;}
.topbar{display:flex;align-items:center;justify-content:flex-end;padding:14px 28px;background:var(--paper);border-bottom:1px solid var(--line);}
.breadcrumb{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-right:auto;}
.breadcrumb .crumb{cursor:pointer;}
.breadcrumb .crumb:hover{text-decoration:underline;}
.breadcrumb .sep{margin:0 6px;color:var(--line);}
.breadcrumb .current{color:var(--ink);font-weight:600;}

.content{padding:24px 28px;flex:1;overflow-x:auto;}
.wrap{max-width:1220px;}

/* Al imprimir, cada módulo controla su propio contenido (con sus clases
   .no-print / .print-page); aquí solo ocultamos el "cascarón" fijo de la
   app (sidebar, topbar) para que no aparezca colado en el PDF/impresión. */
@media print{
  .sidebar{display:none !important;}
  .topbar{display:none !important;}
  .app-shell{display:block !important;}
  .main{display:block !important;}
  .content{display:block !important;padding:0 !important;margin:0 !important;}
  #labelStudioRoot{margin:0 !important;}
  body{margin:0 !important;}
}
