.jst-dashboard-container{max-width:1200px;margin:0 auto;padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#1e293b}
.jst-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.jst-dashboard-title h2{margin:0;font-size:2rem;font-weight:800;letter-spacing:-.3px}
.jst-dashboard-title p{margin:6px 0 0;color:#64748b}
.jst-dashboard-actions{display:flex;gap:12px;flex-wrap:wrap}
.jst-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border:none;border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .25s ease;min-width:120px}
.jst-btn-primary{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;box-shadow:0 4px 12px rgba(16,185,129,.25)}
.jst-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,185,129,.35)}
.jst-btn-secondary{background:#64748b;color:#fff;box-shadow:0 4px 12px rgba(100,116,139,.25)}
.jst-btn-secondary:hover{background:#475569;transform:translateY(-2px)}
.jst-tickets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.jst-ticket-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 22px rgba(2,6,23,.05);padding:18px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.jst-ticket-card:hover{transform:translateY(-3px);border-color:#10b981;box-shadow:0 14px 26px rgba(16,185,129,.15)}
.jst-ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.jst-ticket-number{font-weight:800;color:#0f172a}
.jst-ticket-status{font-size:.875rem}
.jst-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:700}
.jst-status-open{background:#d1fae5;color:#065f46}
.jst-status-in_progress{background:#dbeafe;color:#1e3a8a}
.jst-status-pending{background:#fff7ed;color:#9a3412}
.jst-status-closed{background:#fee2e2;color:#991b1b}
.jst-ticket-content{margin-top:8px}
.jst-ticket-subject{margin:6px 0 10px;font-size:1rem;color:#0f172a}
.jst-ticket-meta{display:flex;gap:12px;flex-wrap:wrap;color:#64748b;font-size:.875rem}
.jst-ticket-actions{margin-top:14px}
.jst-ticket-actions .jst-btn{min-width:unset;padding:10px 16px}
#jst-ticket-modal.jst-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;z-index:9999}
#jst-modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.6);display:none;z-index:9998;backdrop-filter:blur(2px)}
.jst-modal .jst-modal-content{width:min(850px,95vw);max-height:85vh;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 30px 60px rgba(2,6,23,.2);animation:jstModalIn .3s ease}
.jst-modal .jst-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e2e8f0}
.jst-modal .jst-modal-body{padding:18px}
.jst-modal .jst-modal-close{background:transparent;border:none;font-size:22px;line-height:1;cursor:pointer;color:#64748b}
@keyframes jstModalIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.jst-tracking-container{max-width:820px;margin:0 auto;padding:34px 22px;background:linear-gradient(135deg,#f8fafc 0%,#ffffff 100%);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 22px rgba(2,6,23,.05)}
.jst-tracking-header{text-align:center;margin-bottom:20px}
.jst-tracking-header h2{margin:0 0 8px;font-size:2rem;font-weight:800}
.jst-tracking-description{margin:0;color:#64748b}
.jst-tracking-form .jst-tracking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0 6px}
.jst-form-group label{display:block;margin:0 0 8px;font-weight:600;color:#0f172a}
.jst-tracking-form input[type=text],.jst-tracking-form input[type=email]{width:100%;padding:12px 14px;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}
.jst-tracking-form input[type=text]:focus,.jst-tracking-form input[type=email]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.1)}
.jst-tracking-actions{margin-top:14px;display:flex;gap:12px;justify-content:flex-end}
.jst-tracking-result,.jst-tracking-error{margin-top:18px;padding:16px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 6px 18px rgba(2,6,23,.04)}
.jst-tracking-error{border-color:#fecaca;background:linear-gradient(135deg,#fef2f2 0%,#ffffff 100%)}
@media (max-width:900px){.jst-tracking-form .jst-tracking-fields{grid-template-columns:1fr}}
@media (max-width:768px){.jst-dashboard-container{padding:24px 16px}.jst-tickets-grid{grid-template-columns:1fr}.jst-dashboard-header{flex-direction:column;align-items:flex-start;gap:8px}.jst-dashboard-actions{width:100%}.jst-dashboard-actions .jst-btn{flex:1}}
/* Verification Step Styles */
#ust-verification-step {
    max-width: 500px;
    margin: 0 auto;
    padding: 30px;
    background: var(--ust-bg-primary, #ffffff);
    border-radius: var(--ust-radius-lg, 12px);
    box-shadow: 0 4px 12px var(--ust-shadow-light, rgba(0, 0, 0, 0.1));
}

.ust-btn-link {
    background: none;
    border: none;
    color: var(--ust-primary-color, #14a34b);
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
    font-size: var(--ust-font-size-sm, 0.875rem);
}

.ust-alert {
    padding: 12px 15px;
    border-radius: var(--ust-radius-md, 8px);
    margin-bottom: 20px;
    font-size: var(--ust-font-size-sm, 0.875rem);
}

.ust-alert-success {
    background-color: var(--ust-success-bg, #d1fae5);
    color: var(--ust-success-color, #28a745);
    border: 1px solid var(--ust-success-border, #a7f3d0);
}

.ust-alert-error {
    background-color: var(--ust-danger-bg, #fee2e2);
    color: var(--ust-danger-color, #dc3545);
    border: 1px solid var(--ust-danger-border, #fca5a5);
}

/* Guest Lookup Form Styles */
.jst-lookup-form-container {
    max-width: 600px;
    margin: 40px auto;
    padding: 30px;
    background: var(--ust-bg-primary, #ffffff);
    border-radius: var(--ust-radius-lg, 12px);
    box-shadow: 0 4px 12px var(--ust-shadow-light, rgba(0, 0, 0, 0.1));
}

.jst-lookup-form .jst-form-group {
    margin-bottom: 20px;
}

.jst-lookup-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--ust-text-primary, #212529);
}

.jst-lookup-form input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--ust-border-medium, #dee2e6);
    border-radius: var(--ust-radius-md, 8px);
    font-size: var(--ust-font-size-base, 1rem);
}

.jst-lookup-form .jst-form-actions {
    margin-top: 30px;
    text-align: center;
}

.jst-guest-dashboard .jst-dashboard-header {
    text-align: center;
    margin-bottom: 30px;
}

#jst-guest-ticket-display {
    background: var(--ust-bg-primary, #ffffff);
    padding: 30px;
    border-radius: var(--ust-radius-lg, 12px);
    box-shadow: 0 4px 12px var(--ust-shadow-light, rgba(0, 0, 0, 0.1));
}
