

    /* Root reset + base typography */
.tc-root{
    all: initial;
    display: block;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial,
    "Apple Color Emoji","Segoe UI Emoji";
    color: #0f172a;
}
.tc-root *, .tc-root *::before, .tc-root *::after { box-sizing: border-box; }

/* Background wrapper */
.tc-bg{
    min-height: 100vh;
    padding: 50px 16px 60px;
    background:
            radial-gradient(900px 500px at 10% 10%, rgba(37,99,235,.10), transparent 60%),
            radial-gradient(800px 450px at 90% 20%, rgba(168,85,247,.08), transparent 60%),
            radial-gradient(800px 450px at 50% 95%, rgba(16,185,129,.06), transparent 55%),
            linear-gradient(180deg, #ffffff 0%, #fbfdff 35%, #f6f8ff 100%);
}

/* Top strip */
.tc-topstrip{
    max-width: 1040px;
    margin: 0 auto 18px;
    padding: 14px 18px;
    border-radius: 16px;
    background: linear-gradient(90deg, rgba(255,255,255,.95), rgba(248,250,252,.90));
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 20px 60px rgba(2,6,23,.10);
    backdrop-filter: blur(10px);
}
.tc-topstrip-row{ display:flex; align-items:center; justify-content:space-between; }
.tc-brand{ display:flex; align-items:center; gap:12px; }
.tc-logo{
    width:38px; height:38px; border-radius:12px;
    background: linear-gradient(135deg,#3b82f6,#a855f7);
    color:#fff; font-weight:900;
    display:flex; align-items:center; justify-content:center;
}
.tc-brand-title{ font-weight:900; font-size:14px; }
.tc-brand-sub{ font-size:12px; opacity:.65; }
.tc-secure{ font-size:12px; opacity:.65; }

/* Main layout */
.tc-container{ max-width:1040px; margin:0 auto; }
.tc-grid{ display:flex; gap:18px; flex-wrap:wrap; }

/* Sidebar */
.tc-sidebar{ flex:1 1 240px; max-width:280px; }
.tc-panel{
    border-radius:18px;
    background: linear-gradient(180deg,#fff,#f8fafc);
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 24px 70px rgba(2,6,23,.10);
    padding:14px;
}
.tc-panel-title{ font-weight:900; font-size:13px; margin:6px 8px 12px; }

.tc-action-link{ all: unset; display:block; cursor:pointer; }
.tc-action{
    display:flex; gap:12px; padding:12px;
    border-radius:14px;
    transition:.18s;
}
.tc-action--inactive{
    background: rgba(2,6,23,.03);
    border: 1px solid rgba(15,23,42,.08);
}
.tc-action--active{
    background: linear-gradient(135deg,#3b82f6,#2563eb);
    color:#fff;
    box-shadow:0 18px 35px rgba(37,99,235,.18);
}
.tc-action-icon{
    width:36px; height:36px; border-radius:12px;
    display:flex; align-items:center; justify-content:center;
}
.tc-action-title{ font-weight:900; font-size:13px; }
.tc-action-sub{ font-size:12px; opacity:.7; }
.tc-action--active .tc-action-sub{ opacity:.85; }

.tc-tip{
    border-radius:14px;
    padding:12px;
    background: rgba(2,6,23,.02);
    border: 1px dashed rgba(15,23,42,.14);
    font-size:12px;
    opacity:.65;
}

.tc-spacer-10{ height:10px; }
.tc-spacer-14{ height:14px; }

/* Main form column */
.tc-maincol{ flex: 2 1 520px; min-width: 320px; }

.tc-card{
    border-radius:20px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.90));
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 26px 80px rgba(2,6,23,.10);
    overflow: hidden;
}
.tc-card-header{
    padding:18px 18px 14px;
    border-bottom: 1px solid rgba(15,23,42,.06);
    background: linear-gradient(90deg, rgba(59,130,246,.10), rgba(168,85,247,.06));
}
.tc-card-header-row{ display:flex; align-items:center; gap:12px; }
.tc-header-icon{
    width:40px; height:40px; border-radius:14px;
    background: rgba(2,6,23,.03);
    border: 1px solid rgba(15,23,42,.08);
    display:flex; align-items:center; justify-content:center;
    color:#0f172a; font-size:18px;
}
.tc-header-title{
    color:#0f172a;
    font-weight:950;
    font-size:16px;
    letter-spacing:.2px;
}
.tc-header-sub{
    color: rgba(15,23,42,.65);
    font-size:12px;
    margin-top:2px;
}
.tc-card-body{ padding:18px; }
.tc-form{ display:block; }

.tc-field{ margin-bottom:14px; }
.tc-field--mobile{ margin-bottom:18px; }

.tc-label{
    display:block;
    color: rgba(15,23,42,.85);
    font-size:12px;
    font-weight:900;
    letter-spacing:.25px;
    margin: 0 0 8px 2px;
}

.tc-input{
    width:100%;
    padding:12px 12px;
    border-radius:14px;
    border: 1px solid rgba(15,23,42,.10);
    background:#ffffff;
    color:#0f172a;
    font-size:14px;
    outline:none;
    box-shadow: 0 10px 26px rgba(2,6,23,.06);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tc-input:focus{ transform: translateY(-1px); }
.tc-input--ticket:focus{
    border-color: rgba(59,130,246,.55);
    box-shadow: 0 0 0 4px rgba(59,130,246,.16), 0 12px 30px rgba(2,6,23,.08);
}
.tc-input--mobile:focus{
    border-color: rgba(168,85,247,.55);
    box-shadow: 0 0 0 4px rgba(168,85,247,.14), 0 12px 30px rgba(2,6,23,.08);
}

.tc-alert{
    margin: 10px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(239,68,68,.10);
    border: 1px solid rgba(239,68,68,.22);
    color: #7f1d1d;
    font-size: 12px;
    line-height: 1.35;
}

.tc-help{
    margin-top: 8px;
    color: rgba(15,23,42,.55);
    font-size: 12px;
}

/* CTA */
.tc-cta{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.tc-submit{
    appearance:none;
    border:0;
    cursor:pointer;
    padding: 0 18px;
    height: 42px;
    line-height: 42px;
    border-radius: 14px;
    color:#fff;
    font-weight: 950;
    font-size: 14px;
    letter-spacing: .25px;
    background: linear-gradient(135deg, rgba(59,130,246,.98), rgba(37,99,235,.88));
    box-shadow: 0 18px 45px rgba(37,99,235,.20);
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.tc-submit:hover{
    transform: translateY(-2px);
    box-shadow: 0 22px 55px rgba(37,99,235,.26);
    opacity: .98;
}
.tc-submit:active{ transform: translateY(0px) scale(.99); }

.tc-cta-note{
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(2,6,23,.02);
    border: 1px solid rgba(15,23,42,.08);
    color: rgba(15,23,42,.62);
    font-size: 12px;
    line-height: 1.35;
    flex: 1 1 220px;
}

.tc-footnote{
    margin-top: 12px;
    color: rgba(15,23,42,.55);
    font-size: 12px;
    padding-left: 4px;
}

/* Seats section */
.tc-seats{ font-family: Arial, sans-serif; margin: 16px; }
.tc-seats-title{ margin: 0 0 12px 0; color: #111; }

.tc-table{
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e5e7eb;
}
.tc-table thead tr{ background: #f3f4f6; }
.tc-table th{
    text-align: left;
    padding: 10px;
    border-bottom: 1px solid #e5e7eb;
    color: #374151;
    font-size: 14px;
}
.tc-th-right{ text-align:right !important; }
.tc-th-center{ text-align:center !important; }

.tc-table tbody tr{ border-bottom: 1px solid #f1f5f9; }
.tc-table td{
    padding: 10px;
    color: #111827;
    font-size: 14px;
}
.tc-td-right{ text-align:right !important; }
.tc-td-center{ text-align:center !important; }

.tc-status{
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    color: #374151;
    background: #f9fafb;
}

.tc-cancel-form{ margin: 0; }
.tc-cancelbtn{
    border: 0;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    background: #ef4444;
    color: #ffffff;
    transition: background .15s ease;
}
.tc-cancelbtn:hover{ background: #dc2626; }

.tc-empty{
    padding: 12px;
    border: 1px dashed #d1d5db;
    border-radius: 10px;
    color: #6b7280;
    background: #fafafa;
}