:root{font-family:Arial,sans-serif;color:#222832;background:#f3f4f6;font-size:15px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;width:235px;height:100vh;padding:30px 20px;background:#15171b;color:#abb0b8}aside img{width:192px}aside p{font-size:10px;letter-spacing:2px;margin:18px 0 40px}nav button{display:block;width:100%;text-align:left;margin:7px 0;background:transparent;color:#bfc4cd;border:0;padding:14px}nav button.active{background:#f46522;color:white;border-radius:9px}main{margin-left:235px;padding:35px;max-width:1650px}header,.toolbar,.dialoghead{display:flex;justify-content:space-between;align-items:center;gap:15px}small{color:#79818d;font-size:10px;letter-spacing:2px}h1{font-size:30px;margin:10px 0 30px}h2{font-size:19px}button{cursor:pointer;border:1px solid #dce0e6;background:white;border-radius:7px;padding:10px 14px;color:#252b34}button.primary{background:#ee6020;border:0;color:white}input,select,textarea{width:100%;padding:12px;border:1px solid #dce0e6;border-radius:7px;background:white;font:inherit}label{display:block;font-size:13px;margin:15px 0 6px}textarea{min-height:85px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.card,.panel{background:white;border:1px solid #e4e6eb;border-radius:12px;padding:22px}.card b{display:block;font-size:30px;margin-top:14px}.card small{letter-spacing:0}.grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.toolbar{margin:15px 0 22px}.toolbar input{max-width:320px}.row{padding:16px 0;border-bottom:1px solid #edf0f2;display:flex;justify-content:space-between;gap:15px}.muted{color:#7d8590;font-size:13px}.tag{display:inline-block;font-size:12px;padding:5px 8px;background:#edf7f0;color:#237345;border-radius:6px}.warning{background:#fff0e5;color:#ac4d1a}.danger{color:#be3328}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.day{min-height:105px;border:1px solid #e7e9ed;border-radius:7px;padding:8px;font-size:12px}.day.today{border-color:#ed6020}.event{display:block;background:#fff0e5;border:0;font-size:11px;margin-top:5px;padding:6px;width:100%;text-align:left;overflow-wrap:anywhere}.empty{padding:35px;text-align:center;color:#7d8590}.listitem{background:white;border:1px solid #e4e6eb;border-radius:10px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:9px 0}.listitem strong{display:block;margin-bottom:8px}.actions{display:flex;gap:8px;flex-wrap:wrap}dialog{border:0;border-radius:14px;max-width:640px;width:95%;max-height:90vh;padding:26px}dialog::backdrop{background:#1119}.component{display:grid;grid-template-columns:3fr 1fr auto;gap:8px;margin:8px 0}#error{color:#be3328}#notice{color:#ac4d1a} .login{max-width:420px;margin:70px auto}.login img{background:#15171b;padding:20px;border-radius:8px;width:100%}@media(max-width:900px){aside{position:static;width:100%;height:auto;padding:15px}aside p{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;width:auto}aside>button{position:absolute;right:15px;top:20px}main{margin:0;padding:18px}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.calendar{gap:2px}.day{padding:4px;min-height:90px}.event{font-size:10px}.listitem{align-items:flex-start;flex-direction:column}}

.icon{width:21px;height:21px;flex-shrink:0}nav button{display:flex;align-items:center;gap:12px}.inline-button{font-size:12px;padding:6px 10px;margin-left:12px;color:#c34a12}.guest aside,.guest main>header{display:none}.guest main{margin:0;max-width:none;min-height:100vh;display:flex;align-items:center;justify-content:center}.guest #app{width:100%}.guest .login{margin:30px auto}.guest .login h2{line-height:1.4}.guest .login .primary{width:100%;margin-top:12px}button:disabled{opacity:.5;cursor:wait}
/* Menú accesible incluso en pantallas de poca altura. */
@media(min-width:901px){
 aside{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}
 aside>img,aside>p,aside>button{flex-shrink:0}
 aside>p{margin-bottom:20px}
 aside nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding-right:5px;margin-bottom:16px;-webkit-overflow-scrolling:touch}
 aside>button{margin-top:auto}
}
@media(max-width:900px){nav button{flex-shrink:0}}

/* Navegación agrupada: solo un submenú abierto a la vez. */
nav button{margin:3px 0;padding:10px 12px;min-height:40px}
.nav-group{margin:0}.nav-parent .chevron{margin-left:auto;font-size:15px}.nav-parent.selected{color:#ff9b61}
.submenu{padding:2px 0 4px 18px;margin-left:10px;border-left:1px solid #3b3e44}
.submenu[hidden]{display:none}.submenu button{font-size:13px;min-height:34px;padding:7px 10px}.submenu .icon{width:17px;height:17px}
@media(min-width:901px){aside{padding:22px 18px}aside>p{margin:14px 0 20px}aside nav{scrollbar-width:none}aside nav::-webkit-scrollbar{display:none}}
@media(max-width:900px){aside nav{display:block;overflow:visible}aside nav button{width:100%;white-space:normal}.submenu{max-width:none}}
