/* Modal flotante "Nuevo ticket" — reutilizable, dark + light */

.tnm-overlay {
    position:fixed; inset:0; z-index:1080;
    background:rgba(0,0,0,.55);
    display:flex; align-items:center; justify-content:center;
    padding:20px;
    opacity:0; pointer-events:none; transition:opacity .2s ease;
}
.tnm-overlay.open { opacity:1; pointer-events:auto; }

.tnm-modal {
    background:var(--jd-bg-card);
    border:1px solid var(--jd-border-color);
    border-radius:var(--jd-radius-xl);
    width:100%; max-width:560px;
    overflow:hidden;
    transform:translateY(20px); transition:transform .2s ease;
    box-shadow:var(--jd-shadow-lg);
}
.tnm-overlay.open .tnm-modal { transform:translateY(0); }

.tnm-header {
    padding:var(--jd-spacing-sm) var(--jd-spacing-md);
    border-bottom:1px solid var(--jd-border-color);
    background:var(--jd-bg-header);
    display:flex; align-items:center; justify-content:space-between;
}
.tnm-header h4 { font-size:1rem; font-weight:700; color:var(--jd-text-primary); margin:0; display:flex; align-items:center; gap:8px; }
.tnm-header h4 i { color:var(--jd-crimson); }
.tnm-close {
    background:transparent; border:none; color:var(--jd-text-muted); cursor:pointer;
    width:32px; height:32px; border-radius:var(--jd-radius-sm); display:flex; align-items:center; justify-content:center;
    transition:var(--jd-transition);
}
.tnm-close:hover { background:var(--jd-bg-card-hover); color:var(--jd-crimson); }

.tnm-body { padding:var(--jd-spacing-md); }

.tnm-row { margin-bottom:var(--jd-spacing-sm); }
.tnm-label {
    display:block;
    font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.4px;
    color:var(--jd-text-muted); margin-bottom:5px;
}

.tnm-input, .tnm-textarea {
    width:100%; background:var(--jd-bg-card); border:1px solid var(--jd-border-color);
    border-radius:var(--jd-radius-sm); padding:8px 12px;
    color:var(--jd-text-primary); font-size:.92rem; outline:none;
    transition:var(--jd-transition); font-family:inherit;
}
.tnm-input:focus, .tnm-textarea:focus { border-color:var(--jd-crimson); box-shadow:0 0 0 .15rem rgba(255,77,109,.15); }
.tnm-textarea { min-height:80px; resize:vertical; }

.tnm-tipos { display:flex; flex-wrap:wrap; gap:6px; }
.tnm-tipo {
    font-size:.78rem; font-weight:600; padding:6px 12px; border-radius:var(--jd-radius-pill);
    border:1.5px solid var(--jd-border-color); background:var(--jd-bg-card);
    color:var(--jd-text-secondary); cursor:pointer;
    transition:var(--jd-transition); display:inline-flex; align-items:center; gap:5px;
}
.tnm-tipo:hover  { border-color:var(--jd-crimson); color:var(--jd-text-primary); }
.tnm-tipo.active { border-color:var(--jd-crimson); background:var(--jd-crimson-gradient); color:#fff; }
.tnm-tipo i      { font-size:.85rem; }

.tnm-suggest {
    position:absolute; left:0; right:0; top:100%; z-index:5;
    background:var(--jd-bg-card); border:1px solid var(--jd-border-color);
    border-radius:0 0 var(--jd-radius-sm) var(--jd-radius-sm); max-height:240px; overflow:auto;
    box-shadow:var(--jd-shadow-md);
}
.tnm-suggest-item {
    padding:8px 12px; cursor:pointer; font-size:.88rem; color:var(--jd-text-primary);
    border-bottom:1px solid var(--jd-border-color-light); transition:var(--jd-transition);
}
.tnm-suggest-item:hover { background:var(--jd-bg-card-hover); }
.tnm-suggest-item:last-child { border-bottom:none; }
.tnm-suggest-item small { color:var(--jd-text-muted); }

.tnm-cliente-selected, .tnm-orden-selected {
    background:var(--jd-bg-card-hover); border:1px solid var(--jd-border-color);
    border-radius:var(--jd-radius-sm); padding:8px 12px;
    display:flex; justify-content:space-between; align-items:center; font-size:.88rem;
    color:var(--jd-text-primary);
}
.tnm-cliente-selected .clear, .tnm-orden-selected .clear {
    background:transparent; border:none; color:var(--jd-text-muted); cursor:pointer; font-size:1.1rem;
}

.tnm-footer {
    padding:var(--jd-spacing-sm) var(--jd-spacing-md);
    background:var(--jd-bg-header);
    border-top:1px solid var(--jd-border-color);
    display:flex; justify-content:flex-end; gap:8px;
}
.tnm-btn {
    font-size:.85rem; font-weight:600; padding:8px 14px; border-radius:var(--jd-radius-sm);
    border:1px solid var(--jd-border-color); background:var(--jd-bg-card); color:var(--jd-text-primary);
    cursor:pointer; transition:var(--jd-transition);
}
.tnm-btn:hover { border-color:var(--jd-border-color-hover); }
.tnm-btn.primary { background:var(--jd-crimson-gradient); border-color:transparent; color:#fff; }
.tnm-btn.primary:hover { background:var(--jd-crimson-gradient-hover); }
.tnm-btn:disabled { opacity:.5; cursor:not-allowed; }

.tnm-error {
    background:rgba(198,40,40,.12); color:#C62828;
    border:1px solid rgba(198,40,40,.3); border-radius:var(--jd-radius-sm);
    padding:8px 12px; font-size:.85rem; margin-bottom:var(--jd-spacing-sm);
}
