:root{
    --bg:#0b1020;
    --panel:#11182a;
    --panel2:#151f35;
    --text:#eef3ff;
    --muted:#9eabc5;
    --line:#26324d;
    --brand:#38bdf8;
    --brand2:#22c55e;
    --danger:#ef4444;
    --warning:#f59e0b;
    --white:#fff;
    --shadow:0 18px 50px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{
    margin:0;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:
        radial-gradient(circle at 10% 0%, rgba(56,189,248,.13), transparent 26rem),
        radial-gradient(circle at 100% 10%, rgba(34,197,94,.08), transparent 28rem),
        var(--bg);
    color:var(--text);
    min-height:100vh;
}
a{color:#7dd3fc;text-decoration:none}
a:hover{text-decoration:underline}
.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}
.narrow{width:min(620px,calc(100% - 32px));padding:64px 0}
.topbar{
    border-bottom:1px solid var(--line);
    background:rgba(11,16,32,.85);
    backdrop-filter:blur(12px);
    position:sticky;
    top:0;
    z-index:20;
}
.topbar-inner{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo,.brand{font-weight:900;letter-spacing:-.02em;color:#fff}
.logo{font-size:1.15rem}
.brand{font-size:1.05rem;color:#7dd3fc}
.simple-link{color:var(--muted)}
.hero{padding:72px 0 36px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.hero h1,.admin-heading h1,.ticket-header h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.02;margin:8px 0 14px;letter-spacing:-.045em}
.hero p{font-size:1.08rem;max-width:720px;color:var(--muted);line-height:1.7}
.eyebrow{font-size:.75rem;font-weight:900;letter-spacing:.14em;color:#7dd3fc}
.hero-badge{
    min-width:280px;
    padding:18px 20px;
    border:1px solid var(--line);
    border-radius:16px;
    background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
}
.hero-badge strong,.hero-badge span{display:block}
.hero-badge span{color:var(--muted);font-size:.9rem;margin-top:6px}
.booking-grid,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:60px}
.card{
    background:linear-gradient(180deg,rgba(21,31,53,.96),rgba(17,24,42,.96));
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    padding:26px;
}
.form-card h2,.card h2{font-size:1.05rem;margin:0 0 18px}
.form-card h2:not(:first-child){margin-top:30px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-size:.87rem;font-weight:700;color:#d7e0f3;margin-bottom:14px}
input,select,textarea{
    width:100%;
    margin-top:8px;
    border:1px solid var(--line);
    background:#0b1220;
    color:var(--text);
    border-radius:12px;
    padding:12px 13px;
    font:inherit;
    outline:none;
}
input:focus,select:focus,textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.12)}
textarea{resize:vertical;line-height:1.5}
small,.small{font-size:.8rem}
label small{display:block;color:var(--muted);font-weight:500;margin-top:6px}
.service-list{display:grid;gap:10px}
.service-option{margin:0}
.service-option input{position:absolute;opacity:0;pointer-events:none}
.service-option span{
    display:block;
    border:1px solid var(--line);
    background:#0c1424;
    border-radius:14px;
    padding:15px 16px;
    cursor:pointer;
    transition:.2s ease;
}
.service-option strong,.service-option small,.service-option b{display:block}
.service-option small{color:var(--muted);font-weight:500;line-height:1.45;margin:5px 0 10px}
.service-option b{color:#86efac}
.service-option input:checked + span{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.09);background:#0f1a2d}
.total-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:17px 18px;
    border:1px solid #155e75;
    background:rgba(8,145,178,.10);
    border-radius:14px;
    margin:6px 0 26px;
}
.total-box strong{font-size:1.5rem;color:#7dd3fc}
.payment-box{
    border:1px dashed #475569;
    border-radius:14px;
    padding:18px;
    margin:14px 0;
    background:#0a1220;
}
.payment-box strong{font-size:1.08rem}
.payment-box p{color:var(--muted);line-height:1.55}
.payment-value{
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
    word-break:break-all;
    color:#86efac;
    margin:10px 0;
}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:11px;
    padding:11px 15px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
    text-decoration:none!important;
}
.btn.primary{background:linear-gradient(135deg,#0ea5e9,#22c55e);color:#04111a}
.btn.secondary{background:#1d4ed8;color:#fff}
.btn.ghost{border:1px solid var(--line);background:transparent;color:var(--text)}
.btn.large{width:100%;padding:15px;font-size:1rem}
.small-btn{padding:8px 10px;font-size:.8rem}
.security-note,.alert{
    border-radius:13px;
    padding:14px 16px;
    line-height:1.55;
    margin:14px 0;
}
.security-note{border:1px solid #854d0e;background:rgba(245,158,11,.08);color:#fde68a}
.alert.error{border:1px solid #7f1d1d;background:rgba(239,68,68,.11);color:#fecaca}
.alert.success{border:1px solid #166534;background:rgba(34,197,94,.10);color:#bbf7d0}
.alert.info{border:1px solid #1e40af;background:rgba(59,130,246,.10);color:#bfdbfe}
.check-row{display:flex;gap:11px;align-items:flex-start;margin:20px 0}
.check-row input{width:auto;margin-top:3px}
.check-row span{font-weight:500;color:var(--muted);line-height:1.5}
.hidden{display:none!important}
.muted{color:var(--muted)}
.footer{padding:28px 0 46px;color:var(--muted);border-top:1px solid var(--line);font-size:.9rem}
.success-card{text-align:center}
.success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#14532d;color:#86efac;font-size:2rem;font-weight:900}
.ticket-box{border:1px solid var(--line);border-radius:14px;padding:15px;margin:20px 0;background:#0b1220}
.ticket-box span,.ticket-box strong{display:block}
.ticket-box span{color:var(--muted);font-size:.8rem}
.ticket-box strong{font-size:1.35rem;margin-top:4px}
.summary-list,.detail-list{margin:0}
.summary-list div,.detail-list div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:11px 0}
.summary-list dt,.detail-list dt{color:var(--muted)}
.summary-list dd,.detail-list dd{margin:0;text-align:right}
.admin-heading,.ticket-header{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:48px 0 24px}
.admin-links{display:flex;gap:14px;align-items:center}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px}
.stat span{display:block;color:var(--muted);font-size:.82rem}
.stat strong{display:block;font-size:1.8rem;margin-top:5px}
.filter-row{display:grid;grid-template-columns:1fr 240px auto auto;gap:10px;align-items:end;margin-bottom:18px}
.filter-row input,.filter-row select{margin-top:0}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:920px}
th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
td{font-size:.9rem}
.empty{text-align:center;color:var(--muted);padding:30px}
.badge{display:inline-block;border:1px solid #334155;background:#0f172a;border-radius:999px;padding:5px 8px;font-size:.73rem;color:#cbd5e1}
.badge.red{border-color:#7f1d1d;color:#fecaca;background:rgba(127,29,29,.25)}
.large-badge{font-size:.85rem;padding:8px 12px}
.detail-grid{grid-template-columns:1fr 1fr}
.prewrap{white-space:pre-wrap;color:#d9e2f2;line-height:1.65}
code{background:#0b1220;border:1px solid var(--line);border-radius:6px;padding:2px 5px}
@media (max-width:850px){
    .hero{display:block;padding-top:44px}
    .hero-badge{margin-top:22px}
    .booking-grid,.detail-grid{grid-template-columns:1fr}
    .stat-grid{grid-template-columns:1fr 1fr}
    .filter-row{grid-template-columns:1fr}
    .ticket-header{align-items:flex-start;flex-direction:column}
}
@media (max-width:560px){
    .shell{width:min(100% - 20px,1180px)}
    .narrow{padding:28px 0}
    .card{padding:20px;border-radius:16px}
    .grid-2{grid-template-columns:1fr}
    .hero h1,.admin-heading h1,.ticket-header h1{font-size:2.2rem}
    .stat-grid{grid-template-columns:1fr 1fr}
    .topbar-inner{height:60px}
}

.action-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-inline form{margin:0}.btn.danger{background:#991b1b;color:#fff}
