@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
:root{--primary:#1A56DB;--primary-light:#EEF4FF;--success:#10B981;--success-light:#D1FAE5;--danger:#EF4444;--danger-light:#FEE2E2;--warning:#F59E0B;--warning-light:#FEF3C7;--g50:#F9FAFB;--g100:#F3F4F6;--g200:#E5E7EB;--g300:#D1D5DB;--g400:#9CA3AF;--g500:#6B7280;--g600:#4B5563;--g700:#374151;--g800:#1F2937;--g900:#111827;--font:'DM Sans',sans-serif;--font-h:'Space Grotesk',sans-serif;--sb:220px;--tb:56px;--r:8px;--rl:12px}
body{font-family:var(--font);background:var(--g100);color:var(--g800);font-size:14px}
/* SHELL */
.lm-shell{display:flex;min-height:100vh}
.lm-sidebar{width:var(--sb);background:#fff;border-right:1px solid var(--g200);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}
.lm-wrap{margin-left:var(--sb);flex:1;display:flex;flex-direction:column;min-height:100vh}
/* SIDEBAR */
.lm-sb-header{padding:14px 18px;border-bottom:1px solid var(--g100);display:flex;align-items:center;gap:10px;min-height:var(--tb)}
.lm-sb-logo{width:32px;height:32px;border-radius:var(--r);background:var(--primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-h);font-weight:700;font-size:13px;color:#fff;flex-shrink:0;overflow:hidden}
.lm-sb-logo img{width:100%;height:100%;object-fit:contain}
.lm-sb-brand{font-family:var(--font-h);font-weight:600;font-size:15px;color:var(--g900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lm-sb-nav{flex:1;overflow-y:auto;padding:4px 0}
.lm-sb-sec{padding:8px 12px 3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--g400)}
a.lm-sb-item{display:flex;align-items:center;gap:10px;padding:9px 18px;color:var(--g600);font-size:13.5px;font-weight:400;text-decoration:none;border-left:3px solid transparent;transition:all .15s}
a.lm-sb-item svg{width:15px;height:15px;flex-shrink:0;opacity:.7}
a.lm-sb-item:hover{background:var(--g50);color:var(--g900)}
a.lm-sb-item.active{background:var(--primary-light);color:var(--primary);border-left-color:var(--primary);font-weight:500}
a.lm-sb-item.active svg{opacity:1}
.lm-sb-footer{padding:10px 14px;border-top:1px solid var(--g100)}
.lm-sb-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r);text-decoration:none;color:inherit}
.lm-sb-user:hover{background:var(--g50)}
.lm-logout-btn{margin-left:auto;opacity:.4;color:var(--g600);display:flex}
.lm-logout-btn svg{width:15px;height:15px}
.lm-logout-btn:hover{opacity:.8}
.lm-user-info{flex:1;min-width:0}
.lm-user-name{font-size:12.5px;font-weight:500;color:var(--g800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* TOPBAR */
.lm-topbar{position:sticky;top:0;height:var(--tb);background:#fff;border-bottom:1px solid var(--g200);display:flex;align-items:center;padding:0 24px;gap:12px;z-index:99}
.lm-topbar-title{font-family:var(--font-h);font-weight:600;font-size:16px;color:var(--g900);flex:1}
.lm-search-wrap{position:relative}
.lm-search{display:flex;align-items:center;gap:8px;background:var(--g100);border:1px solid var(--g200);border-radius:var(--r);padding:7px 12px;width:240px}
.lm-search input{border:none;background:transparent;font-size:13px;color:var(--g700);outline:none;width:100%}
.lm-search input::placeholder{color:var(--g400)}
.lm-search svg{width:14px;height:14px;flex-shrink:0;color:var(--g400)}
.lm-topbar-btn{width:34px;height:34px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;border:1px solid var(--g200);background:#fff;text-decoration:none;color:var(--g500);transition:.15s;flex-shrink:0}
.lm-topbar-btn:hover{background:var(--g50)}
.lm-topbar-btn svg{width:16px;height:16px}
/* MAIN */
.lm-main{padding:24px;flex:1}
/* AVATAR */
.lm-avatar{width:30px;height:30px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0}
.lm-avatar-sm{width:28px;height:28px;font-size:10px}
/* ROLE BADGE */
.lm-role{font-size:10px;padding:2px 7px;border-radius:20px;font-weight:500}
.lm-role-admin{background:#EEF4FF;color:#1A56DB}
.lm-role-mecanico{background:var(--success-light);color:#065F46}
.lm-role-atendente{background:var(--warning-light);color:#92400E}
/* CARD */
.lm-card{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:20px}
.lm-card-0{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:0;overflow:hidden}
/* GRID */
.lm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lm-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.lm-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
/* STATS */
.lm-stat{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:16px 18px}
.lm-stat-label{font-size:12px;color:var(--g500);margin-bottom:8px;font-weight:500}
.lm-stat-val{font-family:var(--font-h);font-size:24px;font-weight:700;color:var(--g900);line-height:1}
.lm-stat-sub{font-size:12px;color:var(--g400);margin-top:6px}
.lm-stat-up{color:var(--success)}
.lm-stat-dn{color:var(--danger)}
/* TABLE */
.lm-table-wrap{overflow-x:auto}
.lm-table{width:100%;border-collapse:collapse}
.lm-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--g500);padding:10px 14px;text-align:left;border-bottom:1px solid var(--g200)}
.lm-table td{padding:11px 14px;font-size:13.5px;border-bottom:1px solid var(--g100);vertical-align:middle}
.lm-table tr:last-child td{border-bottom:none}
.lm-table tr:hover td{background:var(--g50)}
/* BUTTONS */
.lm-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r);font-size:13.5px;font-weight:500;cursor:pointer;border:none;transition:.15s;font-family:var(--font);text-decoration:none}
.lm-btn-primary{background:var(--primary);color:#fff}
.lm-btn-primary:hover{filter:brightness(.92)}
.lm-btn-outline{background:#fff;color:var(--g700);border:1px solid var(--g300)}
.lm-btn-outline:hover{background:var(--g50)}
.lm-btn-sm{padding:5px 12px;font-size:12.5px}
.lm-btn-icon{width:30px;height:30px;padding:0;justify-content:center}
.lm-btn svg{width:14px;height:14px}
.lm-btn-danger{background:var(--danger);color:#fff}
.lm-btn-danger:hover{filter:brightness(.92)}
.lm-w100{width:100%;justify-content:center}
/* BADGE */
.lm-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:11.5px;font-weight:500}
.lm-b-blue{background:var(--primary-light);color:var(--primary)}
.lm-b-green{background:var(--success-light);color:#065F46}
.lm-b-amber{background:var(--warning-light);color:#92400E}
.lm-b-red{background:var(--danger-light);color:#991B1B}
.lm-b-gray{background:var(--g100);color:var(--g600)}
.lm-b-purple{background:#F5F3FF;color:#5B21B6}
.lm-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}
/* TABS */
.lm-tabs{display:flex;border-bottom:1px solid var(--g200);margin-bottom:20px;overflow-x:auto}
a.lm-tab,div.lm-tab{padding:10px 16px;font-size:13.5px;font-weight:500;color:var(--g500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none;white-space:nowrap;transition:.15s}
a.lm-tab:hover,div.lm-tab:hover{color:var(--g800)}
a.lm-tab.active,div.lm-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
/* FORM */
.lm-form-row{margin-bottom:14px}
.lm-form-row label{display:block;font-size:12.5px;font-weight:500;color:var(--g700);margin-bottom:5px}
.lm-form-row input,.lm-form-row select,.lm-form-row textarea{width:100%;border:1px solid var(--g300);border-radius:var(--r);padding:8px 11px;font-size:13.5px;color:var(--g800);font-family:var(--font);outline:none;transition:.15s;background:#fff}
.lm-form-row input:focus,.lm-form-row select:focus,.lm-form-row textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,86,219,.08)}
.lm-form-row textarea{resize:vertical;min-height:80px}
.lm-form-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lm-form-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.lm-form-sec{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--g400);margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--g100)}
/* FLASH */
.lm-flash{padding:12px 16px;border-radius:var(--r);border-left:4px solid;margin-bottom:20px;font-size:13.5px}
.lm-flash-success{background:var(--success-light);color:#065F46}
.lm-flash-error{background:var(--danger-light);color:#991B1B}
.lm-flash-warning{background:var(--warning-light);color:#92400E}
.lm-flash-info{background:var(--primary-light);color:var(--primary)}
/* MODAL */
.lm-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:500;align-items:center;justify-content:center}
.lm-modal-overlay.open{display:flex}
.lm-modal{background:#fff;border-radius:var(--rl);width:540px;max-width:95vw;max-height:90vh;overflow-y:auto}
.lm-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--g200)}
.lm-modal-title{font-family:var(--font-h);font-weight:600;font-size:15px;color:var(--g900)}
.lm-modal-close{background:var(--g100);border:none;width:28px;height:28px;border-radius:var(--r);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
.lm-modal-body{padding:20px}
.lm-modal-foot{padding:14px 20px;border-top:1px solid var(--g200);display:flex;justify-content:flex-end;gap:10px}
/* MISC */
.lm-sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.lm-sec-title{font-family:var(--font-h);font-size:15px;font-weight:600;color:var(--g900)}
.lm-sec-sub{font-size:12.5px;color:var(--g500);margin-top:2px}
.lm-sep{height:1px;background:var(--g100);margin:16px 0}
.lm-text-muted{color:var(--g500)}
.lm-text-sm{font-size:12.5px}
.lm-fw6{font-weight:600}
.lm-mt8{margin-top:8px}
.lm-mt16{margin-top:16px}
.lm-mt20{margin-top:20px}
.lm-mb16{margin-bottom:16px}
.lm-mb20{margin-bottom:20px}
.lm-flex{display:flex}
.lm-items-c{align-items:center}
.lm-jc-sb{justify-content:space-between}
.lm-gap8{gap:8px}
.lm-gap12{gap:12px}
.lm-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;background:var(--g100);color:var(--g600);font-weight:500}
.lm-placa{font-family:var(--font-h);font-weight:700;letter-spacing:.06em}
.lm-actions{display:flex;gap:5px}
.lm-os-num{font-family:var(--font-h);font-weight:700;color:var(--primary);text-decoration:none}
/* BARRA DE ETAPAS OS */
.lm-steps{display:flex;border-radius:var(--r);overflow:hidden;border:1px solid var(--g200);margin-bottom:20px}
.lm-step{flex:1;text-align:center;padding:9px 6px;font-size:11.5px;font-weight:500;background:var(--g50);color:var(--g400);border-top:3px solid var(--g200)}
.lm-step.done{background:var(--success-light);color:#065F46;border-top-color:var(--success)}
.lm-step.current{background:var(--primary-light);color:var(--primary);border-top-color:var(--primary)}
/* TIMELINE */
.lm-tl{display:flex;flex-direction:column}
.lm-tl-item{display:flex;gap:12px;padding:8px 0}
.lm-tl-dot{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.lm-tl-circle{width:26px;height:26px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center}
.lm-tl-circle svg{width:12px;height:12px;color:var(--primary)}
.lm-tl-line{width:2px;background:var(--g200);flex:1;min-height:12px;margin-top:4px}
.lm-tl-content{flex:1;padding-bottom:4px}
.lm-tl-acao{font-size:13px;font-weight:500;color:var(--g800)}
.lm-tl-meta{font-size:11.5px;color:var(--g400);margin-top:2px}
/* PAGINATOR */
.lm-pag{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--g100)}

/* ── Aliases de compatibilidade (classes antigas → novo sistema) ── */
.card{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:20px}
.card-sm{padding:14px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.stat-card{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:16px 18px}
.stat-label{font-size:12px;color:var(--g500);margin-bottom:8px;font-weight:500}
.stat-val{font-family:var(--font-h);font-size:24px;font-weight:700;color:var(--g900);line-height:1}
.stat-sub{font-size:12px;color:var(--g400);margin-top:6px}
.stat-up{color:var(--success)}.stat-dn{color:var(--danger)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-8{gap:8px}.gap-12{gap:12px}
.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}
.text-sm{font-size:12.5px}.text-muted{color:var(--g500)}.fw-600{font-weight:600}
.w100{width:100%;justify-content:center}
.sep{height:1px;background:var(--g100);margin:16px 0}
.sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.sec-title{font-family:var(--font-h);font-size:15px;font-weight:600;color:var(--g900)}
.sec-sub{font-size:12.5px;color:var(--g500);margin-top:2px}
.tabs{display:flex;border-bottom:1px solid var(--g200);margin-bottom:20px;overflow-x:auto}
a.tab,div.tab{padding:10px 16px;font-size:13.5px;font-weight:500;color:var(--g500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none;white-space:nowrap;transition:.15s}
a.tab:hover,div.tab:hover{color:var(--g800)}
a.tab.active,div.tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r);font-size:13.5px;font-weight:500;cursor:pointer;border:none;transition:.15s;font-family:var(--font);text-decoration:none}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{filter:brightness(.92)}
.btn-outline{background:#fff;color:var(--g700);border:1px solid var(--g300)}.btn-outline:hover{background:var(--g50)}
.btn-sm{padding:5px 12px;font-size:12.5px}
.btn-icon{width:30px;height:30px;padding:0;justify-content:center}
.btn svg{width:14px;height:14px}
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:11.5px;font-weight:500}
.b-blue{background:var(--primary-light);color:var(--primary)}
.b-green{background:var(--success-light);color:#065F46}
.b-amber{background:var(--warning-light);color:#92400E}
.b-red{background:var(--danger-light);color:#991B1B}
.b-gray{background:var(--g100);color:var(--g600)}
.b-purple{background:#F5F3FF;color:#5B21B6}
.dot{width:6px;height:6px;border-radius:50%;display:inline-block}
.dot-blue{background:var(--primary)}.dot-green{background:var(--success)}
.dot-amber{background:var(--warning)}.dot-red{background:var(--danger)}
.table-wrap{overflow-x:auto}
table.lm-table,.table-wrap table{width:100%;border-collapse:collapse}
.table-wrap table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--g500);padding:10px 14px;text-align:left;border-bottom:1px solid var(--g200)}
.table-wrap table td{padding:11px 14px;font-size:13.5px;border-bottom:1px solid var(--g100);vertical-align:middle}
.table-wrap table tr:last-child td{border-bottom:none}
.table-wrap table tr:hover td{background:var(--g50)}
.actions{display:flex;gap:5px}
.form-row{margin-bottom:14px}
.form-row label{display:block;font-size:12.5px;font-weight:500;color:var(--g700);margin-bottom:5px}
.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid var(--g300);border-radius:var(--r);padding:8px 11px;font-size:13.5px;color:var(--g800);font-family:var(--font);outline:none;transition:.15s;background:#fff}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,86,219,.08)}
.form-row textarea{resize:vertical;min-height:80px}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.form-section{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--g400);margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--g100)}
.flash{padding:12px 16px;border-radius:var(--r);border-left:4px solid;margin-bottom:20px;font-size:13.5px}
.flash-success,.lm-flash-success{background:var(--success-light);color:#065F46}
.flash-error,.lm-flash-error{background:var(--danger-light);color:#991B1B}
.flash-warning,.lm-flash-warning{background:var(--warning-light);color:#92400E}
.flash-info,.lm-flash-info{background:var(--primary-light);color:var(--primary)}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0}
.avatar.sm{width:24px;height:24px;font-size:10px}
.role-badge{font-size:10px;padding:2px 7px;border-radius:20px;font-weight:500}
.role-admin,.role-badge.role-admin{background:#EEF4FF;color:#1A56DB}
.role-mecanico,.role-badge.role-mecanico{background:var(--success-light);color:#065F46}
.role-atendente,.role-badge.role-atendente{background:var(--warning-light);color:#92400E}
.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;background:var(--g100);color:var(--g600);font-weight:500}
.tb-search{display:flex;align-items:center;gap:8px;background:var(--g100);border:1px solid var(--g200);border-radius:var(--r);padding:7px 12px}
.tb-search input{border:none;background:transparent;font-size:13px;color:var(--g700);outline:none;width:100%}
.tb-search input::placeholder{color:var(--g400)}
.tb-search svg{width:14px;height:14px;flex-shrink:0;color:var(--g400)}
.os-steps{display:flex;border-radius:var(--r);overflow:hidden;border:1px solid var(--g200)}
.os-step{flex:1;text-align:center;padding:9px 6px;font-size:11.5px;font-weight:500;background:var(--g50);color:var(--g400);border-top:3px solid var(--g200)}
.os-step.done{background:var(--success-light);color:#065F46;border-top-color:var(--success)}
.os-step.current{background:var(--primary-light);color:var(--primary);border-top-color:var(--primary)}
.os-step-inner{width:100%}
.timeline{display:flex;flex-direction:column}
.tl-item{display:flex;gap:12px;padding:8px 0}
.tl-dot{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.tl-circle{width:26px;height:26px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center}
.tl-circle svg{width:12px;height:12px;color:var(--primary)}
.tl-line{width:2px;background:var(--g200);flex:1;min-height:12px;margin-top:4px}
.tl-content{flex:1;padding-bottom:4px}
.tl-action{font-size:13px;font-weight:500;color:var(--g800)}
.tl-meta{font-size:11.5px;color:var(--g400);margin-top:2px}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:500;align-items:center;justify-content:center}
.modal{background:#fff;border-radius:var(--rl);width:560px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--g200)}
.modal-title{font-family:var(--font-h);font-weight:600;font-size:15px;color:var(--g900)}
.modal-close{background:var(--g100);border:none;width:28px;height:28px;border-radius:var(--r);cursor:pointer;font-size:16px}
.modal-body{padding:20px}
.modal-foot{padding:14px 20px;border-top:1px solid var(--g200);display:flex;justify-content:flex-end;gap:10px}
.hidden{display:none!important}
.notif-dot{width:7px;height:7px;background:var(--danger);border-radius:50%;position:absolute;top:6px;right:6px;border:1.5px solid #fff}

.fin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}

/* ── Visibilidade responsiva ─────────────────────────────── */
.desktop-only { display: block; }
.mobile-only  { display: none !important; }
.hide-mobile  { /* visível em desktop, oculto no mobile — ver @media */ }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVO — MOBILE
   ═══════════════════════════════════════════════════════════ */

/* Hamburger — oculto no desktop */
.lm-hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--g200);border-radius:var(--r);background:#fff;cursor:pointer;flex-shrink:0}
.lm-hamburger svg{width:18px;height:18px;color:var(--g600)}

/* Overlay para fechar sidebar */
.lm-sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99}
.lm-sb-overlay.open{display:block}

/* ── Telas até 768px ──────────────────────────────────────── */
@media (max-width: 768px) {

  /* Visibilidade */
  .desktop-only{display:none !important}
  .fin-kpis{grid-template-columns:1fr !important}
  .mobile-only{display:flex !important}
  .hide-mobile{display:none !important}

  /* Sidebar vira drawer lateral */
  .lm-sidebar{transform:translateX(-100%);transition:transform .25s ease;z-index:200;width:260px}
  .lm-sidebar.open{transform:translateX(0)}
  .lm-wrap{margin-left:0}
  .lm-hamburger{display:flex}

  /* Topbar */
  .lm-topbar{padding:0 12px;gap:8px}
  .lm-topbar-title{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
  .lm-search-wrap{display:none}

  /* Conteúdo */
  .lm-main{padding:12px}

  /* ── Grids colapsam para 1 coluna ── */
  .rsp-grid{grid-template-columns:1fr !important}
  .lm-grid2,.lm-grid3,.lm-grid4,
  .grid2,.grid3,
  .form-2col,.form-3col,
  .lm-form-2col,.lm-form-3col{grid-template-columns:1fr !important}

  /* Stats ficam 2 colunas */
  .stats-grid{grid-template-columns:1fr 1fr !important}


  /* Cards */
  .card,.lm-card{padding:12px}
  .stat-val,.lm-stat-val{font-size:20px}

  /* Modais — bottom sheet */
  .modal,.lm-modal{
    width:100% !important;max-width:100% !important;
    border-radius:var(--rl) var(--rl) 0 0;
    position:fixed;bottom:0;left:0;right:0;top:auto;
    max-height:92vh
  }
  .modal-overlay,.lm-modal-overlay{align-items:flex-end}

  /* Barra de etapas OS — 2 por linha */
  .os-steps,.lm-steps{flex-wrap:wrap}
  .os-step,.lm-step{flex:unset;width:50%;font-size:10.5px;padding:6px 4px}

  /* Flex cabeçalhos das páginas */
  .lm-flex.lm-items-c,.flex.items-center{flex-wrap:wrap;gap:8px}
  .sec-header,.lm-sec-header{flex-wrap:wrap;gap:8px}

  /* Paginação */
  .lm-pag{flex-direction:column;gap:8px;text-align:center}

  /* Botões de ação */
  .actions,.lm-actions{flex-wrap:wrap}

  /* Inputs em formulários não transbordam */
  input,select,textarea{max-width:100%}

  /* Overflow seguro */
  .lm-main > *{max-width:100%;overflow-x:hidden}

  /* ── TABELAS RESPONSIVAS: viram cards ── */
  .table-wrap{overflow-x:visible !important}
  .table-wrap table,
  .table-wrap thead,
  .table-wrap tbody,
  .table-wrap th,
  .table-wrap td,
  .table-wrap tr{display:block}

  .table-wrap thead tr{position:absolute;top:-9999px;left:-9999px}

  .table-wrap tbody tr{
    background:#fff;
    border:1px solid var(--g200);
    border-radius:var(--r);
    margin-bottom:10px;
    padding:10px 12px;
  }
  .table-wrap tbody tr:hover{background:#fff}

  .table-wrap td{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
    padding:5px 0;
    border:none;
    font-size:13px;
    border-bottom:1px solid var(--g100);
    min-height:26px;
    word-break:break-word;
  }
  .table-wrap td:last-child{border-bottom:none}
  .table-wrap td::before{
    content:attr(data-label);
    font-size:10.5px;font-weight:600;
    text-transform:uppercase;letter-spacing:.04em;
    color:var(--g400);white-space:nowrap;
    flex-shrink:0;padding-top:2px;min-width:80px
  }
  .table-wrap td.td-acoes{justify-content:flex-end;padding-top:8px;border-bottom:none}
  .table-wrap td.td-acoes::before{content:none}

  /* Calendário agenda: scroll horizontal */
  .lm-cal-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* Formulários de nova OS / editar — tabela de itens rola */
  .lm-items-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .lm-items-table-wrap table{min-width:560px}
}

/* ── Telas até 480px ──────────────────────────────────────── */
@media (max-width: 480px) {
  .stats-grid{grid-template-columns:1fr !important}
  .lm-topbar-btn{display:none}
  .lm-main{padding:10px}
  .card,.lm-card{padding:10px}
  .os-step,.lm-step{width:100%;border-left:none;border-top:3px solid var(--g200)}
  .os-step.done{border-top-color:var(--success)}
  .os-step.current{border-top-color:var(--primary)}
  .modal,.lm-modal{max-height:96vh}
}

/* ── Badges de perfil ─────────────────────────────────────── */
.lm-role-superadmin,.role-superadmin{background:#F5F3FF;color:#5B21B6}
