/* ==========================================================
   Ticketera PRO - Contacto + Soporte SuperAdmin
   ========================================================== */
.tk-contact-page,.so-page{min-height:calc(100vh - 116px);background:radial-gradient(circle at 10% 8%,rgba(51,102,255,.14),transparent 30%),radial-gradient(circle at 88% 14%,rgba(24,200,255,.13),transparent 27%),linear-gradient(180deg,#f8fafc 0%,#eef4ff 100%);}
.tk-contact-page{padding:52px 0 68px;}
.tk-contact-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:start;}
.tk-contact-hero{border-radius:32px;padding:36px;background:linear-gradient(135deg,#071120,#10233d 58%,#1d4ed8);color:#fff;box-shadow:0 24px 58px rgba(15,30,51,.18);position:relative;overflow:hidden;}
.tk-contact-hero:before{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;border-radius:999px;background:rgba(24,200,255,.18);filter:blur(4px);}
.tk-contact-kicker,.so-kicker{display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:9px 14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;margin-bottom:16px;}
.tk-contact-hero h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3rem);line-height:1.02;font-weight:950;letter-spacing:-.055em;}
.tk-contact-hero p{margin:0;color:rgba(255,255,255,.82);font-weight:650;line-height:1.75;}
.tk-contact-list{display:grid;gap:14px;margin-top:26px;position:relative;}
.tk-contact-item{display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:start;padding:16px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);}
.tk-contact-item i{width:48px;height:48px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:#fff;}
.tk-contact-item strong{display:block;color:#fff;font-weight:950;margin-bottom:4px;}
.tk-contact-item span{display:block;color:rgba(255,255,255,.74);font-weight:650;line-height:1.55;}
.tk-contact-card,.so-card{border-radius:32px;background:#fff;border:1px solid #dbe3ee;box-shadow:0 18px 46px rgba(15,30,51,.10);padding:30px;}
.tk-contact-card h2,.so-card h2{margin:0 0 10px;color:#0f1e33;font-size:1.6rem;font-weight:950;letter-spacing:-.045em;}
.tk-contact-card p,.so-card p{color:#64748b;line-height:1.7;font-weight:700;margin:0 0 20px;}
.tk-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.tk-field{margin-bottom:14px;}
.tk-field.full{grid-column:1/-1;}
.tk-field label,.so-label{display:block;color:#0f1e33;font-weight:950;margin-bottom:8px;}
.tk-input,.tk-select,.tk-textarea,.so-input,.so-select,.so-textarea{width:100%;border:1px solid #dbe3ee;border-radius:18px;min-height:50px;padding:0 15px;font-weight:800;color:#111827;outline:none;background:#fff;transition:border-color .18s ease,box-shadow .18s ease;}
.tk-textarea,.so-textarea{min-height:136px;padding-top:14px;resize:vertical;}
.tk-input:focus,.tk-select:focus,.tk-textarea:focus,.so-input:focus,.so-select:focus,.so-textarea:focus{border-color:#3366ff;box-shadow:0 0 0 4px rgba(51,102,255,.12);}
.tk-contact-actions,.so-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;}
.tk-contact-btn,.so-btn{border:0;min-height:50px;border-radius:999px;padding:0 20px;background:#eef2ff;color:#1e40af;font-weight:950;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.tk-contact-btn:hover,.so-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,30,51,.10);}
.tk-contact-btn.primary,.so-btn.primary{background:linear-gradient(135deg,#3366ff,#1d4ed8);color:#fff;box-shadow:0 14px 28px rgba(51,102,255,.22);}
.so-btn.danger{background:#fff1f2;color:#be123c;}
.so-btn.small{min-height:36px;padding:0 13px;font-size:.85rem;}
.tk-contact-help{margin-top:12px;border-radius:18px;padding:14px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;font-weight:800;line-height:1.55;}
.tk-msg,.so-msg{margin:0 0 18px;border-radius:18px;padding:14px 16px;font-weight:850;line-height:1.55;border:1px solid transparent;}
.tk-msg.ok,.so-msg.ok{background:#ecfdf5;color:#047857;border-color:#a7f3d0;}
.tk-msg.err,.so-msg.err{background:#fff1f2;color:#be123c;border-color:#fecdd3;}
.tk-case-box{margin-top:16px;border-radius:22px;padding:18px;background:linear-gradient(135deg,#ecfdf5,#f0f9ff);border:1px solid #bfdbfe;color:#0f1e33;}
.tk-case-box strong{display:block;font-size:1.25rem;font-weight:950;color:#065f46;margin-top:4px;}
.tk-case-box span{display:block;color:#64748b;font-weight:800;line-height:1.6;}
.so-page{padding:30px 0 56px;}
.so-shell{width:min(1320px,calc(100% - 28px));margin:0 auto;}
.so-hero{border-radius:32px;padding:30px;background:linear-gradient(135deg,#071120,#10233d 58%,#1d4ed8);color:#fff;box-shadow:0 24px 58px rgba(15,30,51,.16);display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-bottom:22px;}
.so-hero h1{margin:0 0 8px;font-size:clamp(1.9rem,3vw,2.8rem);letter-spacing:-.055em;font-weight:950;}
.so-hero p{margin:0;color:rgba(255,255,255,.78);font-weight:700;line-height:1.65;max-width:780px;}
.so-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.so-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;}
.so-col-12{grid-column:span 12;}.so-col-8{grid-column:span 8;}.so-col-4{grid-column:span 4;}
.so-kpis{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-bottom:18px;}
.so-kpi{border-radius:22px;background:#fff;border:1px solid #dbe3ee;padding:18px;box-shadow:0 12px 30px rgba(15,30,51,.08);min-height:118px;}
.so-kpi span{display:flex;align-items:center;gap:8px;color:#64748b;font-weight:900;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;}
.so-kpi strong{display:block;margin-top:10px;color:#0f1e33;font-size:1.85rem;font-weight:950;letter-spacing:-.04em;}
.so-kpi small{display:block;color:#94a3b8;font-weight:800;margin-top:3px;}
.so-filter{border-radius:26px;background:#fff;border:1px solid #dbe3ee;padding:18px;box-shadow:0 14px 34px rgba(15,30,51,.08);margin-bottom:18px;}
.so-filter-grid{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:12px;align-items:end;}
.so-table-wrap{overflow:auto;border-radius:22px;border:1px solid #e5e7eb;background:#fff;}
.so-table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px;}
.so-table th{background:#f8fafc;color:#334155;text-align:left;padding:14px 14px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;border-bottom:1px solid #e5e7eb;white-space:nowrap;}
.so-table td{padding:15px 14px;border-bottom:1px solid #eef2f7;vertical-align:middle;color:#0f172a;font-weight:750;}
.so-table tr:last-child td{border-bottom:0;}
.so-main-text{font-weight:950;color:#0f1e33;}
.so-muted{color:#64748b;font-weight:750;font-size:.88rem;line-height:1.5;}
.so-user-cell{display:flex;align-items:center;gap:11px;min-width:230px;}
.so-avatar{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#3366ff,#18c8ff);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:950;flex:0 0 auto;}
.so-chip{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;padding:8px 11px;font-weight:950;font-size:.78rem;line-height:1;background:#eef2ff;color:#1e40af;white-space:nowrap;}
.so-chip.ok{background:#dcfce7;color:#047857;}.so-chip.warn{background:#fef3c7;color:#92400e;}.so-chip.danger{background:#ffe4e6;color:#be123c;}.so-chip.off{background:#f1f5f9;color:#64748b;}.so-chip.info{background:#e0f2fe;color:#0369a1;}.so-chip.urgent{background:#fff1f2;color:#be123c;}.so-chip.high{background:#ffedd5;color:#c2410c;}.so-chip.low{background:#f1f5f9;color:#475569;}
.so-empty{border-radius:22px;background:#fff;border:1px dashed #cbd5e1;padding:34px;text-align:center;color:#64748b;font-weight:850;}
.so-empty i{display:block;font-size:2rem;color:#94a3b8;margin-bottom:10px;}
.so-detail-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;border-bottom:1px solid #e5e7eb;padding-bottom:16px;margin-bottom:18px;}
.so-detail-title h2{margin:0 0 7px;font-size:1.45rem;font-weight:950;letter-spacing:-.04em;color:#0f1e33;}
.so-detail-title p{margin:0;color:#64748b;font-weight:800;}
.so-detail-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px;}
.so-meta-item{border:1px solid #e5e7eb;background:#f8fafc;border-radius:18px;padding:13px;}
.so-meta-item span{display:block;color:#64748b;font-size:.77rem;text-transform:uppercase;letter-spacing:.06em;font-weight:950;margin-bottom:5px;}
.so-meta-item strong{display:block;color:#0f1e33;font-weight:950;word-break:break-word;}
.so-thread{display:grid;gap:12px;margin:18px 0;max-height:460px;overflow:auto;padding-right:4px;}
.so-message{border-radius:20px;border:1px solid #e5e7eb;background:#fff;padding:15px;box-shadow:0 10px 24px rgba(15,30,51,.06);}
.so-message.internal{background:#fffbeb;border-color:#fde68a;}
.so-message.support{background:#eff6ff;border-color:#bfdbfe;}
.so-message-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px;flex-wrap:wrap;}
.so-message-head strong{font-weight:950;color:#0f1e33;}.so-message-head small{color:#64748b;font-weight:800;}
.so-message-body{white-space:pre-wrap;color:#334155;line-height:1.65;font-weight:700;}
.so-editor{border-top:1px solid #e5e7eb;padding-top:16px;margin-top:12px;}
.so-editor-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:12px;}
.so-check{display:flex;align-items:center;gap:8px;font-weight:900;color:#334155;margin-top:8px;}
@media(max-width:1180px){.so-kpis{grid-template-columns:repeat(4,1fr)}.so-filter-grid{grid-template-columns:repeat(2,1fr)}.so-col-8,.so-col-4{grid-column:span 12}.so-editor-grid{grid-template-columns:1fr}}
@media(max-width:980px){.tk-contact-shell{grid-template-columns:1fr}.so-detail-meta{grid-template-columns:1fr}}
@media(max-width:640px){.tk-contact-page,.so-page{padding:28px 0 44px}.tk-contact-shell,.so-shell{width:min(100% - 22px,1120px)}.tk-contact-hero,.tk-contact-card,.so-card,.so-hero{border-radius:24px;padding:22px}.tk-form-row,.so-filter-grid{grid-template-columns:1fr}.tk-contact-item{grid-template-columns:1fr}.so-kpis{grid-template-columns:repeat(2,1fr)}.so-actions,.tk-contact-actions{align-items:stretch}.so-btn,.tk-contact-btn{width:100%}}
