.mobile-more,.mobile-register-btn{display:none}.mobile-more{background:#eef3f2;color:#42535c;border-radius:10px;padding:11px 13px;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:9px}.mobile-menu{display:grid;gap:9px;margin-top:20px}.mobile-menu button{padding:15px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;color:var(--ink);font-weight:700}.mobile-menu button:hover{background:#eaf8f2;color:var(--green-dark)}

@media(max-width:650px){
  body{background:#f4f7f6;padding-bottom:78px}
  .login-shell{display:block;min-height:100dvh;padding:0 20px;background:linear-gradient(180deg,#fff 0%,#f4f8f6 100%)}
  .login-card{width:100%;max-width:420px;margin:0 auto;padding-top:28px}
  .login-card .brand{margin-bottom:62px}.login-card h1{font-size:34px;margin:0 0 8px}.login-card .muted{max-width:280px;line-height:1.45}
  .login-card input{min-height:50px;font-size:16px}.login-card .primary{min-height:50px;font-size:15px}
  .app-shell{display:block;min-height:100dvh}
  .sidebar{position:fixed;z-index:20;left:0;right:0;bottom:0;top:auto;width:100%;height:72px;padding:6px 8px max(6px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);box-shadow:0 -8px 28px #17304212;display:flex;flex-direction:row;background:#ffffffee;backdrop-filter:blur(14px)}
  .sidebar .brand,.sidebar .side-label,.sidebar-bottom{display:none}
  .sidebar nav{display:contents}
  .sidebar .nav-item{position:relative;flex:1;min-width:0;width:auto;height:58px;margin:0;padding:5px 2px;justify-content:center;flex-direction:column;gap:2px;border-radius:10px;font-size:10px;text-align:center;line-height:1.05}
  .sidebar .nav-item span{width:auto;font-size:20px;line-height:1}.sidebar .nav-item b{position:absolute;top:4px;right:8px;margin:0;display:block}
  .sidebar .nav-item[data-section="reportes"],.sidebar .nav-item[data-section="usuarios"],.sidebar .nav-item[data-section="auditoria"]{display:none}
  .main{width:100%;max-width:none;padding:0 14px 108px;margin:0}
  .topbar{position:sticky;z-index:12;top:0;margin:0 -14px 18px;padding:14px 14px 12px;align-items:center;background:#f4f7f6f5;border-bottom:1px solid #e7ecea}
  .eyebrow{display:none}.topbar h1{font-size:22px;margin:0;letter-spacing:-.4px}.topbar-actions{gap:7px}.mobile-more{display:block;font-size:12px;padding:10px}
  .register-btn{display:none}.mobile-register-btn{display:block;position:fixed;z-index:25;left:14px;right:14px;bottom:82px;width:calc(100% - 28px);min-height:52px;font-size:15px;padding:14px 18px;border-radius:14px;box-shadow:0 10px 30px #08795755;text-align:center;-webkit-transform:translateZ(0);transform:translateZ(0)}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{min-height:126px;padding:15px;border-radius:14px;box-shadow:0 7px 22px #1730420a}.kpi .kpi-top{font-size:11px;line-height:1.25;min-height:28px}.kpi strong{font-size:21px;margin:10px 0 5px;letter-spacing:-.5px;overflow-wrap:anywhere}.kpi small{display:block;font-size:11px;line-height:1.3}
  .section-head{margin:24px 2px 12px;align-items:flex-start}.section-head h2{font-size:17px}.section-head p{font-size:12px;line-height:1.4}.dashboard-grid,.split,.report-cards{grid-template-columns:1fr;gap:12px}
  .panel{padding:16px;border-radius:14px;box-shadow:0 7px 22px #1730420a}.panel-title{align-items:flex-start;gap:10px}.panel-title h3{font-size:15px}.panel-title .primary{flex-shrink:0;padding:10px 12px;font-size:12px}
  .bars{height:160px;gap:8px;padding:0 4px}.bar-wrap small{font-size:9px}.summary-row{gap:12px;font-size:13px}.summary-row span{color:#5f6e77}.summary-row strong{text-align:right}
  .toolbar{gap:8px}.toolbar input,.toolbar select,.toolbar button{width:100%;max-width:none;min-height:46px}
  .table-wrap{overflow:visible}.data-table,.data-table tbody{display:block;width:100%}.data-table thead{display:none}.data-table tr{display:block;margin:0 0 12px;padding:7px 13px;background:#f8faf9;border:1px solid var(--line);border-radius:12px}.data-table tr:last-child{margin-bottom:0}.data-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;width:100%;padding:9px 0;border-bottom:1px solid #e9eeec;text-align:right;overflow-wrap:anywhere}.data-table td:last-child{border-bottom:0}.data-table td::before{content:attr(data-label);flex:0 0 41%;color:var(--muted);font-size:10px;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.45px}.data-table td.table-empty{display:block;text-align:center}.data-table td.table-empty::before{display:none}.data-table .action-btn{width:100%;min-height:42px;background:#eaf8f2;border-color:#cbeadd}
  .report-card{padding:16px}.report-card strong{font-size:23px}
  .modal{align-items:end;padding:0;z-index:30}.modal-card{width:100%;max-height:92dvh;border-radius:22px 22px 0 0;padding:25px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #14252d2b}.modal-close{top:15px;right:17px}.form-grid{grid-template-columns:1fr;gap:0}.form-grid label.full-col{grid-column:auto}.payment-options{display:grid;grid-template-columns:1fr;gap:7px}.payment-options span{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:12px}.modal-actions{position:sticky;bottom:-22px;margin:24px -18px -22px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.modal-actions button{flex:1;min-height:46px}
  .toast{left:14px;right:14px;bottom:88px;text-align:center}
}

@media(max-width:370px){.kpis{grid-template-columns:1fr}.kpi{min-height:auto}.topbar h1{font-size:20px}.mobile-more{font-size:11px}.mobile-register-btn{left:10px;right:10px;width:calc(100% - 20px)}}
