/* LTFT Comercial V2 — shared design tokens and reusable primitives. */
.ltft-v2 {
  --v2-color-bg: #f6f8fb;
  --v2-color-surface: #ffffff;
  --v2-color-surface-soft: #f9fafc;
  --v2-color-sidebar: #101827;
  --v2-color-sidebar-raised: #172235;
  --v2-color-sidebar-text: #aeb8c8;
  --v2-color-text: #172033;
  --v2-color-muted: #69758a;
  --v2-color-border: #e6eaf0;
  --v2-color-border-strong: #d8dee8;
  --v2-color-primary: #f47b20;
  --v2-color-primary-hover: #dc6812;
  --v2-color-primary-soft: #fff1e7;
  --v2-color-blue: #3276d2;
  --v2-color-blue-soft: #eaf2fd;
  --v2-color-green: #218660;
  --v2-color-green-soft: #e9f6f0;
  --v2-color-purple: #7756b5;
  --v2-color-purple-soft: #f0ebfa;
  --v2-color-danger: #b94747;
  --v2-space-1: 4px;
  --v2-space-2: 8px;
  --v2-space-3: 12px;
  --v2-space-4: 16px;
  --v2-space-5: 20px;
  --v2-space-6: 24px;
  --v2-space-8: 32px;
  --v2-space-10: 40px;
  --v2-radius-sm: 7px;
  --v2-radius-md: 10px;
  --v2-radius-lg: 14px;
  --v2-radius-xl: 18px;
  --v2-shadow-xs: 0 1px 2px rgba(16,24,39,.04);
  --v2-shadow-sm: 0 5px 18px rgba(16,24,39,.06);
  --v2-shadow-md: 0 16px 42px rgba(16,24,39,.12);
  --v2-font: "Segoe UI", Inter, Arial, sans-serif;
  --v2-font-xs: 11px;
  --v2-font-sm: 12px;
  --v2-font-md: 14px;
  --v2-font-lg: 18px;
  --v2-font-xl: 28px;
  --v2-input-height: 40px;
  --v2-button-height: 38px;
  --v2-focus: 0 0 0 3px rgba(244,123,32,.18);
}

.ltft-v2 .v2-button,
.ltft-v2 .v2-icon-button {min-height:var(--v2-button-height);display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--v2-radius-md);padding:0 15px;font:600 var(--v2-font-md)/1 var(--v2-font);transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}
.ltft-v2 .v2-button:hover,.ltft-v2 .v2-icon-button:hover{transform:translateY(-1px)}
.ltft-v2 .v2-button:focus-visible,.ltft-v2 .v2-icon-button:focus-visible{outline:0;box-shadow:var(--v2-focus)}
.ltft-v2 .v2-button--primary{background:var(--v2-color-primary);border-color:var(--v2-color-primary);color:#fff}
.ltft-v2 .v2-button--primary:hover{background:var(--v2-color-primary-hover);border-color:var(--v2-color-primary-hover)}
.ltft-v2 .v2-button--secondary{background:#fff;border-color:var(--v2-color-border-strong);color:var(--v2-color-text)}
.ltft-v2 .v2-button--ghost{background:transparent;color:var(--v2-color-muted)}
.ltft-v2 .v2-button--danger{background:var(--v2-color-danger);color:#fff}
.ltft-v2 .v2-button--sm{min-height:32px;padding-inline:11px;font-size:12px}
.ltft-v2 .v2-button--lg{min-height:44px;padding-inline:19px}
.ltft-v2 .v2-icon-button{width:var(--v2-button-height);padding:0}
.ltft-v2 .v2-icon-button svg{width:18px;height:18px}

.ltft-v2 .v2-field{display:grid;gap:6px;color:var(--v2-color-text);font:600 var(--v2-font-sm)/1.4 var(--v2-font)}
.ltft-v2 .v2-field small{color:var(--v2-color-muted);font-weight:400}
.ltft-v2 .v2-input,.ltft-v2 .v2-select{width:100%;height:var(--v2-input-height);margin:0;border:1px solid var(--v2-color-border-strong);border-radius:var(--v2-radius-md);background:#fff;color:var(--v2-color-text);padding:0 12px;font:400 var(--v2-font-md)/1 var(--v2-font);transition:border-color .16s,box-shadow .16s}
.ltft-v2 .v2-input:focus,.ltft-v2 .v2-select:focus{outline:0;border-color:var(--v2-color-primary);box-shadow:var(--v2-focus)}
.ltft-v2 .v2-search{position:relative;display:flex;align-items:center}
.ltft-v2 .v2-search>span:not(.v2-sr-only){position:absolute;left:12px;color:var(--v2-color-muted)}
.ltft-v2 .v2-search .v2-input{padding-left:34px}
.ltft-v2 .v2-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.ltft-v2 .v2-card,.ltft-v2 .v2-kpi{background:var(--v2-color-surface);border:1px solid var(--v2-color-border);border-radius:var(--v2-radius-lg);box-shadow:var(--v2-shadow-xs)}
.ltft-v2 button.v2-kpi{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.ltft-v2 button.v2-kpi:hover{transform:translateY(-2px);border-color:rgba(244,123,32,.3);box-shadow:var(--v2-shadow-sm)}.ltft-v2 button.v2-kpi:focus-visible{outline:0;box-shadow:var(--v2-focus)}
.ltft-v2 .v2-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--v2-color-border)}
.ltft-v2 .v2-card__header h2{margin:0;font-size:16px}.ltft-v2 .v2-card__header p{margin:4px 0 0;color:var(--v2-color-muted);font-size:12px}.ltft-v2 .v2-card__body{padding:22px}
.ltft-v2 .v2-kpi{padding:18px}.ltft-v2 .v2-kpi>div{display:flex;justify-content:space-between;color:var(--v2-color-muted);font-size:12px}.ltft-v2 .v2-kpi strong{display:block;margin:8px 0 3px;color:var(--v2-color-text);font-size:28px}.ltft-v2 .v2-kpi small{color:var(--v2-color-muted)}
.ltft-v2 .v2-kpi--blue i{color:var(--v2-color-blue)}.ltft-v2 .v2-kpi--green i{color:var(--v2-color-green)}.ltft-v2 .v2-kpi--purple i{color:var(--v2-color-purple)}

.ltft-v2 .v2-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;background:#eef1f5;color:#526075;font-size:11px;font-weight:650}.ltft-v2 .v2-badge--primary{background:var(--v2-color-primary-soft);color:#a04d0e}.ltft-v2 .v2-badge--blue{background:var(--v2-color-blue-soft);color:#285f9f}.ltft-v2 .v2-badge--green{background:var(--v2-color-green-soft);color:#196647}.ltft-v2 .v2-badge--purple{background:var(--v2-color-purple-soft);color:#614398}
.ltft-v2 .v2-table-wrap{overflow:auto;border:1px solid var(--v2-color-border);border-radius:var(--v2-radius-md)}.ltft-v2 .v2-table{width:100%;border-collapse:collapse;font-size:13px}.ltft-v2 .v2-table caption{text-align:left;padding:12px;font-weight:700}.ltft-v2 .v2-table th{background:var(--v2-color-surface-soft);color:var(--v2-color-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.ltft-v2 .v2-table th,.ltft-v2 .v2-table td{padding:12px 14px;border-bottom:1px solid var(--v2-color-border)}
.ltft-v2 .v2-modal{padding:0;border:1px solid var(--v2-color-border);border-radius:var(--v2-radius-xl);box-shadow:var(--v2-shadow-md)}.ltft-v2 .v2-modal>header,.ltft-v2 .v2-modal>footer{padding:18px 22px}.ltft-v2 .v2-modal>header{border-bottom:1px solid var(--v2-color-border)}.ltft-v2 .v2-modal>footer{border-top:1px solid var(--v2-color-border)}.ltft-v2 .v2-modal__body{padding:22px}
.ltft-v2 .v2-dropdown{position:relative}.ltft-v2 .v2-dropdown>summary{list-style:none}.ltft-v2 .v2-dropdown>div{position:absolute;z-index:30;top:calc(100% + 7px);right:0;min-width:190px;padding:7px;background:#fff;border:1px solid var(--v2-color-border);border-radius:var(--v2-radius-md);box-shadow:var(--v2-shadow-md)}
.ltft-v2 .v2-tabs{display:flex;gap:5px;padding:4px;border-radius:var(--v2-radius-md);background:#edf1f5}.ltft-v2 .v2-tabs button{border:0;border-radius:7px;background:transparent;color:var(--v2-color-muted);padding:8px 12px}.ltft-v2 .v2-tabs button[aria-selected=true]{background:#fff;color:var(--v2-color-text);box-shadow:var(--v2-shadow-xs)}
.ltft-v2 .v2-filter{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--v2-color-border-strong);border-radius:var(--v2-radius-md);background:#fff}.ltft-v2 .v2-filter.is-active{border-color:var(--v2-color-primary);background:var(--v2-color-primary-soft)}
.ltft-v2 .v2-tooltip{position:relative;border-bottom:1px dotted currentColor}.ltft-v2 .v2-tooltip:hover:after,.ltft-v2 .v2-tooltip:focus:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 7px);left:50%;z-index:40;transform:translateX(-50%);width:max-content;max-width:240px;padding:7px 9px;border-radius:7px;background:var(--v2-color-sidebar);color:#fff;font-size:11px;box-shadow:var(--v2-shadow-sm)}
.ltft-v2 .v2-empty{text-align:center;padding:38px 20px;color:var(--v2-color-muted)}.ltft-v2 .v2-empty>div{font-size:28px;color:var(--v2-color-primary)}.ltft-v2 .v2-empty h3{margin:8px 0 3px;color:var(--v2-color-text)}.ltft-v2 .v2-empty p{margin:0 0 15px}.ltft-v2 .v2-loading{display:flex;align-items:center;justify-content:center;gap:9px;padding:30px;color:var(--v2-color-muted)}.ltft-v2 .v2-loading span{width:18px;height:18px;border:2px solid var(--v2-color-border-strong);border-top-color:var(--v2-color-primary);border-radius:50%;animation:v2-spin .7s linear infinite}@keyframes v2-spin{to{transform:rotate(360deg)}}
.ltft-v2 .v2-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.ltft-v2 .v2-page-header>div>span{color:var(--v2-color-primary);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.ltft-v2 .v2-page-header h1{margin:5px 0 3px;font-size:var(--v2-font-xl)}.ltft-v2 .v2-page-header p{margin:0;color:var(--v2-color-muted);font-size:13px}.ltft-v2 .v2-page-header__actions{display:flex;gap:8px;flex-wrap:wrap}
