:root{
  --bg:#f4f6f8;--panel:#fff;--text:#1f2937;--muted:#64748b;--brand:#0f172a;--accent:#0f766e;--danger:#b91c1c;--line:#e5e7eb;--shadow:0 2px 10px #0001;
}
*{box-sizing:border-box}
html{font-size:16px}
body{font-family:Arial,sans-serif;background:var(--bg);margin:0;color:var(--text);line-height:1.35}
header{background:var(--brand);color:white;padding:14px 20px;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px #0002}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
header h2{margin:0;font-size:22px;white-space:nowrap}
.menu-toggle{display:none;background:#ffffff22;color:#fff;border:1px solid #ffffff44;padding:9px 12px;border-radius:10px;font-size:18px;line-height:1}
nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
nav a{color:white;text-decoration:none;font-weight:bold;padding:8px 10px;border-radius:8px;display:inline-block}
nav a:hover{background:#ffffff1f}
main{padding:20px;max-width:1400px;margin:0 auto;width:100%}
.card{background:var(--panel);border-radius:12px;padding:18px;margin:12px 0;box-shadow:var(--shadow);overflow:hidden}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.stat{background:var(--panel);border-radius:12px;padding:18px;box-shadow:var(--shadow);min-width:0}
.stat b{font-size:24px;display:block;word-break:break-word}
input,select,textarea{width:100%;padding:11px;margin:6px 0 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:var(--text)}
label{font-weight:bold;display:block;margin-top:4px}
button,.btn{background:var(--accent);color:white;border:0;padding:10px 14px;border-radius:8px;text-decoration:none;display:inline-block;cursor:pointer;font-weight:bold;margin:2px 0}
button:hover,.btn:hover{filter:brightness(.96)}
.danger{background:var(--danger)!important}.muted{color:var(--muted)}.right{text-align:right}.badge{padding:4px 8px;border-radius:999px;background:#e0f2fe;display:inline-block}.login{max-width:390px;margin:60px auto}.warn{background:#fff7ed;border-left:4px solid #f97316;padding:12px;border-radius:8px}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;background:#fff}
table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}
td,th{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#f8fafc;white-space:nowrap}
.actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.filter-bar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.totales{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.total-card{background:#fff;border-radius:12px;padding:14px;box-shadow:var(--shadow);border:1px solid #eef2f7}.total-card small{color:var(--muted);display:block}.total-card b{font-size:20px;display:block;margin-top:4px}
@media(max-width:768px){
  header{padding:12px 14px}.menu-toggle{display:inline-block}nav{display:none;flex-direction:column;margin-top:12px}nav.open{display:flex}nav a{padding:11px 10px;background:#ffffff14}main{padding:12px}.card,.stat{padding:14px;margin:10px 0}.grid{grid-template-columns:1fr;gap:10px}.filter-bar{grid-template-columns:1fr}button,.btn{width:100%;text-align:center;padding:12px 14px}.actions .btn,.actions button{width:auto;flex:1 1 140px}.login{margin:30px 12px}.stat b{font-size:21px}.total-card b{font-size:18px}
  table{min-width:760px}td,th{padding:9px;font-size:14px}.mobile-stack{display:grid;grid-template-columns:1fr!important;gap:10px!important}
}
@media(max-width:420px){header h2{font-size:19px}main{padding:10px}input,select,textarea{font-size:16px}table{min-width:820px}.card{border-radius:10px}}
