/* Navegación de dos niveles; componentes y pantallas permanecen en app.css. */
:root { --sidebar-width: 176px; }
.sidebar { width: var(--sidebar-width); padding: 24px 12px 16px; overflow-y: auto; }
.platform { padding: 0 5px; }
.platform img { width: 142px; max-width: 100%; }
.platform span { font-size: 9px; letter-spacing: 2px; margin: 9px 0 31px; }
.sidebar-label { font-size: 9px; letter-spacing: 1.5px; color: var(--muted); padding: 0 12px 8px; }
.module-nav { display: flex; flex-direction: column; gap: 4px; }
.module-nav a { margin: 0; padding: 11px 12px; gap: 10px; font-size: 12px; min-height: 43px; }
.module-nav .module-icon { display: inline-block; width: 17px; font-size: 18px; }
.sidebar-note { margin-top: auto; padding: 24px 8px 0; }
.sidebar-note .demo-pill { display: inline-block; padding: 5px 9px; font-size: 10px; }
.sidebar-note small { margin-top: 9px; font-size: 10px; }
.main { margin-left: var(--sidebar-width); }
.top-navigation { position: sticky; top: 0; z-index: 20; background: white; }
.topbar { height: 62px; padding: 0 30px; gap: 20px; }
.workspace-context { display: flex; align-items: center; gap: 14px; min-width: 0; }
.workspace-context > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.workspace-context strong { color: var(--ink); border-left: 1px solid var(--line); padding-left: 14px; font-size: 12px; }
.account { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.account-avatar { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #eaf3ff; color: var(--blue); font-size: 10px; font-weight: 700; }
.account-info strong { display: block; color: var(--ink); font-size: 12px; line-height: 1.3; }
.account-info small { font-size: 10px; line-height: 1.4; }
.account form { margin: 0 0 0 8px; }
.account .logout { display: flex; align-items: center; gap: 6px; position: static; margin: 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: white; color: #53647a; font-size: 11px; white-space: nowrap; min-height: 34px; }
.account .logout:hover { background: #f4f7fb; color: var(--ink); }
.subnav { display: flex; gap: 24px; height: 43px; align-items: stretch; padding: 0 30px; overflow-x: auto; border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.subnav a { display: flex; align-items: center; padding: 0 1px; margin: 0; border-radius: 0; border-bottom: 2px solid transparent; font-size: 12px; white-space: nowrap; }
.subnav a.active { background: transparent; border-bottom-color: var(--blue); color: var(--blue); }
.subnav a:hover { color: var(--blue); }
.page { padding: 26px 30px; min-height: calc(100vh - 158px); }
.page-heading { margin-bottom: 12px; }
.sidebar a:focus-visible, .subnav a:focus-visible, .account button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
@media (max-width: 1000px) {
  .workspace-context { display: block; }
  .workspace-context > span { display: block; max-width: 240px; font-size: 10px; }
  .workspace-context strong { display: block; padding: 0; border: 0; }
}
@media (max-width: 760px) {
  .sidebar { position: relative; width: auto; padding: 12px 16px 0; overflow: visible; border-right: 0; border-bottom: 1px solid var(--line); }
  .platform { display: inline-block; padding: 0; }
  .platform img { width: 125px; }
  .platform span, .sidebar-label, .sidebar-note { display: none; }
  .module-nav { flex-direction: row; gap: 6px; overflow-x: auto; margin-top: 9px; padding-bottom: 9px; }
  .module-nav a { display: flex; font-size: 11px; padding: 7px 10px; min-height: 33px; flex-shrink: 0; }
  .module-nav .module-icon { display: none; }
  .main { margin-left: 0; }
  .topbar { height: 59px; padding: 0 16px; gap: 10px; }
  .workspace-context { flex: 1; overflow: hidden; }
  .workspace-context > span { max-width: 150px; font-size: 9px; }
  .workspace-context strong { font-size: 11px; }
  .account { gap: 7px; }
  .account-avatar { display: none; }
  .account-info strong { font-size: 10px; max-width: 105px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .account-info small { font-size: 9px; max-width: 105px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .account form { margin-left: 0; }
  .account .logout { padding: 7px; min-height: 34px; }
  .account .logout-label { font-size: 0; }
  .account .logout-label::after { content: 'Salir'; font-size: 10px; }
  .subnav { height: 41px; padding: 0 16px; gap: 20px; margin-top: 0; }
  .subnav a { font-size: 11px; }
  .page { padding: 22px 16px; }
}

/* Un ancho compartido respeta el botón oficial de Google y alinea el acceso. */
.login-form form,.login-form #google-signin,.login-form #google-login-notice,.login-form .hint{width:100%;max-width:400px;margin-left:auto;margin-right:auto}

.tenant-switch{display:flex;align-items:end;gap:8px}.tenant-switch label{font-size:11px}.tenant-switch select{margin-top:2px;padding:6px;max-width:230px}@media(max-width:900px){.topbar{height:auto;flex-wrap:wrap;gap:10px;padding-top:10px;padding-bottom:10px}.tenant-switch{order:3;width:100%}.tenant-switch label{flex:1}.tenant-switch select{max-width:none}}

.brand-preview{display:block;max-width:220px;max-height:90px;object-fit:contain;margin:12px 0;background:white}.brand-preview[hidden]{display:none}.brand-editor{border:1px solid var(--line);border-radius:8px;padding:16px;margin:16px 0}.brand-editor input[type=color]{width:80px;height:42px;padding:4px}.company-logo{max-width:80px;max-height:36px;object-fit:contain;margin-right:12px}

.tenant-switch-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:white;color:#1976d2;cursor:pointer;margin-left:auto}.tenant-switch-icon:hover{background:#eaf3ff}#tenant-dialog{width:400px;max-width:calc(100vw - 48px);box-sizing:border-box;border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--ink);box-shadow:0 20px 80px #112a4640}#tenant-dialog::backdrop{background:#112a4666}#tenant-dialog .dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}#tenant-dialog h2{margin:0;font-size:21px}#tenant-dialog .dialog-heading button{border:0;background:transparent;font-size:26px;color:var(--muted);cursor:pointer}#tenant-dialog p{font-size:13px;color:var(--muted)}#tenant-dialog select{width:100%;margin:8px 0 20px}#tenant-dialog form>.button{width:100%}

.tenant-manager{max-width:1100px}.tenant-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.tenant-manager-heading h2{margin:0;font-size:20px}.tenant-manager-heading p{font-size:13px;color:var(--muted);margin:8px 0 20px}.tenant-count{display:inline-block;font-size:12px;color:#1976d2;background:#eaf3ff;padding:3px 8px;border-radius:12px;vertical-align:middle}.tenant-search{display:block;max-width:380px;font-size:12px;margin:0 0 20px}.tenant-list{border-top:1px solid var(--line)}.tenant-row{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.tenant-row[hidden]{display:none}.tenant-row-symbol{width:44px;height:44px;background:#eaf3ff;color:#1976d2;border-radius:10px;display:grid;place-items:center;font-size:24px}.tenant-row-info{flex:1;min-width:0}.tenant-row h3{margin:0 0 6px;font-size:16px;overflow-wrap:anywhere}.tenant-row-info>span{font-size:12px;color:var(--muted)}.tenant-row-info>.tenant-current{color:#167854;background:#eaf8f1;padding:3px 8px;border-radius:10px}.app-dialog{width:440px;max-width:calc(100vw - 32px);box-sizing:border-box;border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--ink);box-shadow:0 20px 80px #112a4640}.app-dialog::backdrop{background:#112a4666}.app-dialog .dialog-heading{display:flex;justify-content:space-between;align-items:center}.app-dialog h2{margin:0;font-size:21px}.app-dialog .dialog-heading button{border:0;background:transparent;font-size:26px;color:var(--muted);cursor:pointer}.app-dialog p{font-size:13px;color:var(--muted);margin:14px 0 24px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}@media(max-width:600px){.tenant-manager-heading{align-items:flex-start;flex-direction:column;gap:0}.tenant-manager-heading>.button{margin-bottom:20px}.tenant-row{flex-wrap:wrap}.tenant-row form{margin-left:60px}.tenant-row-symbol{flex-shrink:0}.tenant-row-info{flex-basis:calc(100% - 60px)}}
.agenda-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.agenda-notice{font-size:13px;color:#167854}.agenda-panel{padding:24px;min-width:0}.agenda-dialog{width:620px;max-height:90vh;overflow-y:auto}.agenda-dialog label{display:block;margin:12px 0;font-size:13px}.agenda-dialog .form-grid{gap:16px}.agenda-dialog .agenda-check{display:flex;align-items:center;gap:8px}.agenda-check input[type=checkbox]{width:16px;margin:0}.agenda-dialog fieldset{border:1px solid var(--line);border-radius:8px;max-height:180px;overflow:auto;padding:12px}.agenda-dialog [hidden]{display:none}.agenda-dialog small{display:block;font-size:11px;color:var(--muted);margin:12px 0}.agenda-dialog hr{border:0;border-top:1px solid var(--line);margin:24px 0}.fc{--fc-button-bg-color:#1976d2;--fc-button-border-color:#1976d2;--fc-button-hover-bg-color:#1267bd;--fc-button-hover-border-color:#1267bd;--fc-button-active-bg-color:#112a46;--fc-button-active-border-color:#112a46;--fc-border-color:#dbe4ef;--fc-today-bg-color:#eaf3ff}.fc .fc-toolbar-title{font-size:21px}.fc .fc-button{font-size:12px}.fc td,.fc th{padding:0}.fc .fc-event{cursor:pointer}.fc .fc-col-header-cell-cushion{font-size:12px}.fc .fc-daygrid-day-number{font-size:13px}@media(max-width:760px){.agenda-panel{padding:12px}.fc .fc-toolbar{gap:10px;flex-wrap:wrap}.fc .fc-toolbar-title{font-size:18px}.fc .fc-daygrid-day-number{font-size:12px}.agenda-dialog .form-grid{grid-template-columns:1fr}.agenda-dialog .dialog-actions{flex-wrap:wrap}}

.actions.movement-row-actions{margin:0;display:flex;gap:6px;flex-wrap:nowrap}.movement-row-actions .button{font-size:12px;padding:7px 10px;white-space:nowrap}#journal-edit-lines select{min-width:240px}#journal-edit-lines input{min-width:95px;margin:0}
