:root{ 
  --tkt-brand:#FFAB32;
  --tkt-brand-600:#FF9312;
  --tkt-brand-700:#E8760A;
  --tkt-gold:#FFF690;
  --tkt-gold-soft:#FFF3CE;
  --tkt-ink:#14161C;
  --tkt-ink-2:#3D4552;
  --tkt-ink-3:#79808E;
  --tkt-ink-4:#A8AEBB;
  --tkt-bg:#EEF0F4;
  --tkt-card:#FFFFFF;
  --tkt-line:#E8EAF0;
  --tkt-line-2:#F1F2F6;
  --tkt-danger:#E6413A;
  --tkt-danger-bg:#FDEDEC;
  --tkt-ok:#17A673;
  --tkt-ok-bg:#E9F7F1;
  --tkt-warn:#FF8A3D;
  --tkt-warn-bg:#FFF3E8;
  --tkt-info:#3C7BF0;
  --tkt-info-bg:#EDF3FE;
  --tkt-font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
}
/* 页面不再引用 global.css，这里补上基础重置：否则浏览器默认 body 的 8px 外边距会在四周露白边 */
html,body{ margin:0;padding:0;background:var(--tkt-bg);-webkit-text-size-adjust:100%; }
#ticketApp{ font-family:var(--tkt-font); color:var(--tkt-ink); background:var(--tkt-bg); font-size:14px; line-height:1.6; -webkit-font-smoothing:antialiased; }
#ticketApp *{ box-sizing:border-box; margin:0; padding:0; }
#ticketApp img,#ticketApp svg{ display:block; }
#ticketApp button,#ticketApp input,#ticketApp select,#ticketApp textarea{ font-family:inherit;font-size:inherit;color:inherit;outline:none; }
#ticketApp button{ cursor:pointer;background:none;border:none; }
#ticketApp a{ color:inherit;text-decoration:none; }
#ticketApp ul{ list-style:none; }
#ticketApp .wrap{ max-width:1240px;margin:0 auto;padding:0 20px; }
#ticketApp .m-bar{ display:none;align-items:center;height:50px;gap:10px;background:#14161C;padding:0 14px;color:#fff; padding-left: 1px;}
#ticketApp .m-bar .back{ width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff; }
#ticketApp .m-bar .back svg{ width:17px;height:17px; }
#ticketApp .m-bar h2{ font-size:16px;font-weight:600;flex:1; }
#ticketApp .m-bar .kefu{ font-size:12px;color:var(--tkt-brand);display:flex;align-items:center;gap:4px; }
#ticketApp .hero{ position:relative;overflow:hidden;background:radial-gradient(1000px 420px at 82% -10%,rgba(255,171,50,.30),transparent 62%),linear-gradient(125deg,#171A22 0%,#22262F 45%,#2C2A22 100%); }
#ticketApp .hero::before{ content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px; }
#ticketApp .hero-in{ position:relative;display:flex;align-items:center;gap:30px;padding:38px 0 34px; }
#ticketApp .hero-txt{ flex:1;min-width:0; }
#ticketApp .hero h1{ font-size:34px;line-height:1.25;color:#fff;font-weight:800;letter-spacing:1px; }
#ticketApp .hero p{ margin-top:12px;color:#A9B0BE;font-size:14px;max-width:520px; }
#ticketApp .hero-meta{ display:flex;gap:26px;margin-top:22px;flex-wrap:wrap; }
#ticketApp .hero-meta div{ display:flex;flex-direction:column;gap:2px;padding-left:14px;border-left:2px solid rgba(255,171,50,.55); }
#ticketApp .hero-meta b{ color:var(--tkt-brand);font-size:19px;font-weight:800;line-height:1.2; }
#ticketApp .hero-meta span{ color:#8F97A6;font-size:12px; }
#ticketApp .mascot{ width:210px;flex:none;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45)); }
#ticketApp .mascot svg{ width:100%;height:auto; }
#ticketApp .main{ display:grid;grid-template-columns:242px 1fr;gap:22px;padding:24px 0 46px;align-items:start; }
#ticketApp .side{ position:sticky;top:20px;display:flex;flex-direction:column;gap:14px; }
#ticketApp .panel{ background:var(--tkt-card);border:1px solid var(--tkt-line);border-radius:16px;box-shadow:0 2px 10px rgba(20,22,28,.05); }
#ticketApp .side-hd{ padding:15px 18px 12px;border-bottom:1px solid var(--tkt-line-2); }
#ticketApp .side-hd h3{ font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;white-space:nowrap; }
#ticketApp .side-hd h3 .dot{ width:4px;height:15px;border-radius:3px;background:linear-gradient(180deg,var(--tkt-brand),var(--tkt-brand-700)); }
#ticketApp .menu{ padding:10px; }
#ticketApp .mi{ margin-bottom:2px; }
#ticketApp .mi-link{ display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--tkt-ink-2);font-size:13.5px;transition:.16s;width:100%;text-align:left; }
#ticketApp .mi-link:hover{ background:#F6F7FA;color:var(--tkt-ink); }
#ticketApp .mi-link svg{ width:17px;height:17px;flex:none;color:var(--tkt-ink-4); }
#ticketApp .mi-link.on{ background:linear-gradient(135deg,rgba(255,171,50,.14),rgba(255,243,206,.5));color:var(--tkt-brand-700);font-weight:600; }
#ticketApp .mi-link.on svg{ color:var(--tkt-brand-700); }
#ticketApp .sub{ padding:2px 0 6px 30px;display:flex;flex-direction:column;gap:2px;border-left:1px dashed var(--tkt-line);margin-left:26px; }
#ticketApp .sub a{ display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;color:var(--tkt-ink-2);font-size:13px;font-weight:500;cursor:pointer;transition:.16s; }
#ticketApp .sub a:hover{ background:#FFF6E5;color:var(--tkt-brand-700); }
#ticketApp .sub a.on{ color:var(--tkt-brand-700);background:var(--tkt-gold-soft);font-weight:600; }
#ticketApp .sub .grp{ font-size:11.5px;color:var(--tkt-ink-4);letter-spacing:1px;padding:9px 10px 3px;font-weight:600; }
#ticketApp .sub i{ font-size: 12px; color: #999; }
#ticketApp .hotline{ padding:15px 18px;background:linear-gradient(150deg,#1A1D26,#2A2E3A);border-radius:16px;color:#fff; }
#ticketApp .hotline small{ color:#8B93A2;font-size:11.5px;letter-spacing:1px; }
#ticketApp .hotline b{ display:block;font-size:19px;margin:5px 0 3px;color:var(--tkt-brand);letter-spacing:.5px; }
#ticketApp .hotline span{ font-size:12px;color:#A9B0BE; }
#ticketApp .content{ min-width:0; }
#ticketApp .tkt-card{ background:var(--tkt-card);border:1px solid var(--tkt-line);border-radius:16px;box-shadow:0 2px 10px rgba(20,22,28,.05);padding:26px;margin-bottom:18px; }
#ticketApp .sec-hd{ display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap; }
#ticketApp .sec-hd h2{ font-size:19px;font-weight:700;display:flex;align-items:center;gap:9px; }
#ticketApp .sec-hd h2::before{ content:"";width:5px;height:19px;border-radius:3px;background:linear-gradient(180deg,var(--tkt-brand),var(--tkt-brand-700)); }
#ticketApp .sec-hd p{ font-size:13px;color:var(--tkt-ink-3);margin-top:5px;padding-left:14px; }
#ticketApp .more{ font-size:13px;color:var(--tkt-brand-700);display:flex;align-items:center;gap:3px; }
#ticketApp .grp-hd{ display:flex;align-items:center;gap:10px;margin:20px 0 12px; }
#ticketApp .grp-hd .gdot{ width:8px;height:8px;border-radius:3px;flex:none; }
#ticketApp .grp-hd.report .gdot{ background:linear-gradient(135deg,#FFC247,#E8760A); }
#ticketApp .grp-hd.appeal .gdot{ background:linear-gradient(135deg,#BBD5FF,#1D5FD0); }
#ticketApp .grp-hd b{ font-size:15px;font-weight:700; }
#ticketApp .grp-hd span{ font-size:12.3px;color:var(--tkt-ink-4); }
#ticketApp .grp-hd::after{ content:"";flex:1;height:1px;background:var(--tkt-line); }
#ticketApp .entries{ display:grid;grid-template-columns:repeat(2,1fr);gap:14px; }
#ticketApp .entry{ position:relative;overflow:hidden;text-align:left;padding:20px 20px 18px;border-radius:16px;border:1px solid var(--tkt-line);background:var(--tkt-card);transition:.22s cubic-bezier(.22,.8,.3,1); }
#ticketApp .entry:hover{ transform:translateY(-4px);box-shadow:0 16px 32px rgba(20,22,28,.10);border-color:transparent; }
#ticketApp .entry::before{ content:"";position:absolute;right:-38px;top:-38px;width:112px;height:112px;border-radius:50%;background:radial-gradient(circle,rgba(255,171,50,.16),transparent 68%);transition:.3s; }
#ticketApp .entry:hover::before{ transform:scale(1.45); }
#ticketApp .entry-top{ display:flex;align-items:center;gap:12px;position:relative; }
#ticketApp .ico{ width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none; }
#ticketApp .ico svg{ width:24px;height:24px; }
#ticketApp .ico.report{ background:linear-gradient(140deg,#FFF3CE,#FFD68A);color:#B85C00; }
#ticketApp .ico.appeal{ background:linear-gradient(140deg,#DCEBFF,#BBD5FF);color:#1D5FD0; }
#ticketApp .entry-top h3{ font-size:16.5px;font-weight:700; }
#ticketApp .entry-top .tagline{ font-size:11.5px;color:var(--tkt-ink-4);margin-top:2px; }
#ticketApp .badge-kind{ position:absolute;right:0;top:0;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600; }
#ticketApp .badge-kind.report{ background:var(--tkt-warn-bg);color:#C25B12; }
#ticketApp .badge-kind.appeal{ background:var(--tkt-info-bg);color:#2E64C9; }
#ticketApp .entry p{ position:relative;font-size:12.8px;color:var(--tkt-ink-3);margin:12px 0 14px;min-height:38px; }
#ticketApp .entry-foot{ position:relative;display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--tkt-ink-4);border-top:1px dashed var(--tkt-line);padding-top:12px; }
#ticketApp .entry-foot .go{ color:var(--tkt-brand-700);font-weight:600;display:flex;align-items:center;gap:4px; }
#ticketApp .entry:hover .go svg{ transform:translateX(3px); }
#ticketApp .entry-foot .go svg{ width:14px;height:14px;transition:.2s; }
#ticketApp .flow{ display:grid;grid-template-columns:repeat(4,1fr);gap:0; }
#ticketApp .flow-num{ width:36px;height:36px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:15px;background:linear-gradient(140deg,var(--tkt-gold),var(--tkt-brand));color:#14161C;box-shadow:0 4px 12px rgba(255,171,50,.3); }
#ticketApp .flow li{ position:relative;padding:0 14px;text-align:center; }
#ticketApp .flow b{ display:block;font-size:14px;margin-bottom:3px; }
#ticketApp .flow span{ font-size:12.3px;color:var(--tkt-ink-3); }
#ticketApp .notice-grid{ display:grid;grid-template-columns:1fr 1fr;gap:14px; }
#ticketApp .notice{ border-radius:12px;padding:15px 16px;font-size:12.8px;line-height:1.85; }
#ticketApp .notice h4 svg{ width:17px;height:17px;flex:none; }
#ticketApp .notice.warn{ background:var(--tkt-warn-bg);border:1px solid #FFDDBE;color:#8A4E15; }
#ticketApp .notice.info{ background:var(--tkt-info-bg);border:1px solid #D5E4FD;color:#23508F; }
#ticketApp .notice h4{ font-size:13.5px;margin-bottom:7px;display:flex;align-items:center;gap:6px;font-weight:700; }
#ticketApp .notice ol{ padding-left:16px; }
#ticketApp .notice li{ margin-bottom:2px; }
#ticketApp .faq details{ border-bottom:1px solid var(--tkt-line-2);padding:13px 0; }
#ticketApp .faq details:last-child{ border-bottom:none; }
#ticketApp .faq summary{ list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px;font-weight:600;color:var(--tkt-ink-2); }
#ticketApp .faq summary::after{ content:"";flex:none;width:16px;height:16px;border-radius:50%;background:#F1F2F6;transition:.2s; }
#ticketApp .faq details p{ padding:10px 0 2px;font-size:13.2px;color:var(--tkt-ink-3);line-height:1.85; }
#ticketApp .view-nav{ display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tkt-ink-4);margin-bottom:14px; }
#ticketApp .view-nav b{ color:var(--tkt-ink-2);font-weight:600; }
#ticketApp .form-hd{ display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--tkt-line-2);margin-bottom:20px;flex-wrap:wrap; }
#ticketApp .form-hd .ico{ width:52px;height:52px;border-radius:15px; }
#ticketApp .form-hd h2{ font-size:21px;font-weight:700; }
#ticketApp .form-hd .sub{ font-size:12.8px;color:var(--tkt-ink-3);margin-top:4px;padding:0;border:none;margin-left:0;display:block; }
#ticketApp .form-hd .pill{ margin-left:auto;font-size:12px;padding:5px 12px;border-radius:20px;background:var(--tkt-gold-soft);color:var(--tkt-brand-700);font-weight:600; }
#ticketApp .alert{ border-radius:12px;padding:13px 15px;font-size:12.8px;line-height:1.8;margin-bottom:20px;display:flex;gap:10px; }
#ticketApp .alert svg{ width:17px;height:17px;flex:none;margin-top:2px; }
#ticketApp .alert.warn{ background:var(--tkt-warn-bg);border:1px solid #FFDDBE;color:#8A4E15; }
#ticketApp .alert.info{ background:var(--tkt-info-bg);border:1px solid #D5E4FD;color:#23508F; }
#ticketApp .form-grid{ display:grid;grid-template-columns:1fr 1fr;gap:18px 22px; }
#ticketApp .f{ display:flex;flex-direction:column;gap:8px;min-width:0; }
#ticketApp .f.full{ grid-column:1/-1; }
#ticketApp .f-sep{ grid-column:1/-1;display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:var(--tkt-ink);margin-top:2px; }
#ticketApp .f-sep i{ width:3px;height:13px;border-radius:2px;flex:none;background:linear-gradient(135deg,#FFC247,#E8760A); }
#ticketApp .f-sep::after{ content:"";flex:1;height:1px;background:var(--tkt-line); }
#ticketApp .f label{ font-size:13.5px;font-weight:600;color:var(--tkt-ink-2);display:flex;align-items:center;gap:5px; }
#ticketApp .f label .req{ color:var(--tkt-danger);font-weight:400; }
#ticketApp .f label .opt{ color:var(--tkt-ink-4);font-weight:400;font-size:12px; }
#ticketApp .hint{ font-size:12px;color:var(--tkt-ink-4);line-height:1.6; }
#ticketApp .hint.tip{ display:flex;align-items:flex-start;gap:5px;margin-top:7px;padding:7px 10px;border-radius:8px;background:#FFF8EC;border:1px solid #FFE3BC;color:#8A5A18; }
#ticketApp .hint.tip svg{ width:14px;height:14px;flex:none;margin-top:2px;color:var(--tkt-brand-700); }
#ticketApp .ipt,#ticketApp .txa{ width:100%;border:1px solid var(--tkt-line);background:#FCFDFE;border-radius:10px;padding:11px 13px;transition:.16s;font-size:13.8px;color:var(--tkt-ink); }
#ticketApp .ipt::placeholder,#ticketApp .txa::placeholder{ color:#B7BCC7; }
#ticketApp .ipt:hover,#ticketApp .txa:hover{ border-color:#D3D7E0; }
#ticketApp .ipt:focus,#ticketApp .txa:focus{ border-color:var(--tkt-brand);background:#fff;box-shadow:0 0 0 3px rgba(255,171,50,.16); }
#ticketApp .combo{ position:relative; }
#ticketApp .combo>.ipt{ padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2379808E' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px;cursor:pointer; }
#ticketApp .combo-list{ display:none;position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:40;background:#fff;border:1px solid #E3E6ED;border-radius:10px;box-shadow:0 12px 32px rgba(20,22,28,.14);max-height:216px;overflow:auto;padding:5px; }
#ticketApp .combo.open .combo-list{ display:block; }
#ticketApp .combo-it{ padding:8px 11px;border-radius:7px;font-size:13.5px;color:var(--tkt-ink);cursor:pointer;line-height:1.5; }
#ticketApp .combo-it:hover{ background:#FFF6E5;color:var(--tkt-brand-700); }
#ticketApp .combo-it b{ color:var(--tkt-brand-700); }
#ticketApp .combo-empty{ padding:12px 11px;font-size:12.5px;color:var(--tkt-ink-4);text-align:center; }
#ticketApp .txa{ resize:vertical;min-height:112px;line-height:1.75; }
#ticketApp .cnt{ text-align:right;font-size:11.5px;color:var(--tkt-ink-4);margin-top:-2px; }
#ticketApp .f.err .ipt,#ticketApp .f.err .txa{ border-color:var(--tkt-danger);background:var(--tkt-danger-bg); }
#ticketApp .f .msg{ font-size:12px;color:var(--tkt-danger);display:none; }
#ticketApp .f.err .msg{ display:block; }
#ticketApp .seg-ctl{ display:inline-flex;background:#F0F2F6;border-radius:10px;padding:3px;gap:3px; }
#ticketApp .seg-b{ padding:6px 22px;border-radius:8px;font-size:13px;color:var(--tkt-ink-2);font-weight:500;transition:.16s; }
#ticketApp .seg-b.on{ background:var(--tkt-brand);color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(255,171,50,.35); }
#ticketApp .up{ border:1.5px dashed #D7DBE4;border-radius:12px;background:#FAFBFD;padding:18px;text-align:center;transition:.18s; }
#ticketApp .up:hover{ border-color:var(--tkt-brand);background:#FFFDF7; }
#ticketApp .up-in{ display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer; }
#ticketApp .up-in svg{ width:30px;height:30px;color:var(--tkt-brand); }
#ticketApp .up-in b{ font-size:13.5px;color:var(--tkt-ink-2);font-weight:600; }
#ticketApp .up-in span{ font-size:11.8px;color:var(--tkt-ink-4); }
#ticketApp .up-list{ display:flex;flex-wrap:wrap;gap:10px;margin-top:12px; }
#ticketApp .up-item{ position:relative;width:84px;height:84px;border-radius:10px;overflow:hidden;border:1px solid var(--tkt-line);background:#F6F7FA; }
#ticketApp .up-item img{ width:100%;height:100%;object-fit:cover; }
#ticketApp .up-item .ph{ display:grid;place-items:center;height:100%;color:var(--tkt-ink-4);font-size:11px;gap:2px; }
#ticketApp .up-item .ph svg{ width:24px;height:24px; }
#ticketApp .up-item .rm{ position:absolute;right:3px;top:3px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;font-size:13px;line-height:1; }
#ticketApp .up-item .nm{ position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);color:#fff;font-size:10px;padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
#ticketApp .up-item .loading{ position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.75);font-size:11px;color:var(--tkt-ink-2); }
#ticketApp .agree{ display:flex;gap:9px;align-items:flex-start;font-size:12.8px;color:var(--tkt-ink-3);line-height:1.7; }
#ticketApp .agree input{ width:16px;height:16px;accent-color:var(--tkt-brand);margin-top:3px;flex:none; }
#ticketApp .agree a{ color:var(--tkt-brand-700); }
#ticketApp .form-act{ display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--tkt-line-2);flex-wrap:wrap; }
#ticketApp .btn{ display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 30px;border-radius:24px;font-size:14.5px;font-weight:600;transition:.18s; }
#ticketApp .btn-main{ background:linear-gradient(135deg,var(--tkt-brand),var(--tkt-brand-700));color:#fff;box-shadow:0 6px 18px rgba(255,145,18,.32); }
#ticketApp .btn-main:hover{ filter:brightness(1.06);transform:translateY(-1px); }
#ticketApp .btn-main[disabled]{ opacity:.6;cursor:not-allowed;transform:none;filter:none; }
#ticketApp .btn-ghost{ border:1px solid var(--tkt-line);color:var(--tkt-ink-2);background:#fff; }
#ticketApp .form-act .tip-line{ font-size:12px;color:var(--tkt-ink-4); }
#ticketApp .stat{ display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px; }
#ticketApp .stat div{ background:#fff;border:1px solid var(--tkt-line);border-radius:12px;padding:14px 16px; }
#ticketApp .stat b{ display:block;font-size:22px;font-weight:800;line-height:1.3; }
#ticketApp .stat span{ font-size:12.3px;color:var(--tkt-ink-3); }
#ticketApp .stat .c-warn b{ color:var(--tkt-warn); }
#ticketApp .stat .c-ok b{ color:var(--tkt-ok); }
#ticketApp .stat .c-danger b{ color:var(--tkt-danger); }
#ticketApp .rec{ border:1px solid var(--tkt-line);border-radius:12px;padding:16px 18px;margin-bottom:12px;transition:.18s; }
#ticketApp .rec:hover{ border-color:#D6DAE3;box-shadow:0 2px 10px rgba(20,22,28,.05); }
#ticketApp .rec-hd{ display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
#ticketApp .rec-hd h4{ font-size:15px;font-weight:700;display:flex;align-items:center;gap:9px; }
#ticketApp .rec-hd h4 em{ font-style:normal;font-size:11.5px;font-weight:500;padding:2px 7px;border-radius:5px;background:#F2F3F7;color:var(--tkt-ink-3); }
#ticketApp .rec-hd .no{ margin-left:auto;font-size:12px;color:var(--tkt-ink-4);font-family:ui-monospace,Menlo,Consolas,monospace; }
#ticketApp .st{ font-size:12px;padding:3px 10px;border-radius:20px;font-weight:600; }
#ticketApp .st.pending{ background:#F2F3F7;color:#6B7280; }
#ticketApp .st.doing{ background:var(--tkt-warn-bg);color:#C25B12; }
#ticketApp .st.ok{ background:var(--tkt-ok-bg);color:#0F8557; }
#ticketApp .st.no{ background:var(--tkt-danger-bg);color:#C4362F; margin-left: 0;}
#ticketApp .step-line{ display:flex;align-items:center;gap:0;margin:14px 0 10px; }
#ticketApp .step-line .s{ flex:1;text-align:center;font-size:12px;color:var(--tkt-ink-4);position:relative; }
#ticketApp .step-line .s::before{ content:"";display:block;width:9px;height:9px;border-radius:50%;background:#DFE2E9;margin:0 auto 6px;z-index:2;position:relative; }
#ticketApp .step-line .s.done::before{ background:var(--tkt-ok); }
#ticketApp .step-line .s.cur::before{ background:var(--tkt-brand);box-shadow:0 0 0 4px rgba(255,171,50,.22); }
#ticketApp .step-line .s.cur{ color:var(--tkt-brand-700);font-weight:600; }
#ticketApp .step-line .s::after{ content:"";position:absolute;top:4px;left:50%;width:100%;height:1px;background:#DFE2E9; }
#ticketApp .step-line .s:last-child::after{ display:none; }
#ticketApp .step-line .s.done::after{ background:var(--tkt-ok); }
#ticketApp .rec-bd{ display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--tkt-ink-3);flex-wrap:wrap; }
#ticketApp .rec-bd .detail-btn{ color:var(--tkt-brand-700);font-weight:600;font-size:12.5px; }
#ticketApp .rec-extra{ display:none;margin-top:12px;padding:12px 14px;background:#F8F9FB;border-radius:10px;font-size:12.8px;color:var(--tkt-ink-2);line-height:1.8;border:1px dashed var(--tkt-line); }
#ticketApp .rec.open .rec-extra{ display:block; }
#ticketApp .rec-extra dl{ display:grid;grid-template-columns:82px 1fr;gap:4px 10px; }
#ticketApp .rec-extra dt{ color:var(--tkt-ink-4); }
#ticketApp .rec-extra dd{ margin:0;word-break:break-all; }
#ticketApp .rec-files{ display:flex;flex-wrap:wrap;gap:8px;margin-top:8px; }
#ticketApp .rec-files a{ font-size:12px;color:var(--tkt-brand-700);border:1px solid var(--tkt-line);border-radius:6px;padding:3px 8px; }
#ticketApp .empty{ text-align:center;padding:44px 20px;color:var(--tkt-ink-4); }
#ticketApp .empty svg{ width:56px;height:56px;margin:0 auto 12px;opacity:.5; }
#ticketApp .filters{ display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px; }
#ticketApp .filters button{ padding:6px 14px;border-radius:20px;border:1px solid var(--tkt-line);font-size:12.8px;color:var(--tkt-ink-2);background:#fff; }
#ticketApp .filters button.on{ background:var(--tkt-ink);border-color:var(--tkt-ink);color:#fff; }
#ticketApp .tabbar{ display:none; }
#ticketApp .toast{ position:fixed;left:50%;top:20px;transform:translate(-50%,-14px);z-index:200;background:rgba(20,22,28,.94);color:#fff;padding:11px 20px;border-radius:24px;font-size:13.5px;opacity:0;pointer-events:none;transition:.24s;display:flex;align-items:center;gap:8px;box-shadow:0 14px 40px rgba(20,22,28,.12); }
#ticketApp .toast.show{ opacity:1;transform:translate(-50%,0); }
#ticketApp .toast svg{ width:17px;height:17px;color:var(--tkt-brand); }
#ticketApp .mask{ position:fixed;inset:0;background:rgba(15,17,22,.5);z-index:210;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:.2s; }
#ticketApp .mask.show{ opacity:1;pointer-events:auto; }
#ticketApp .modal{ background:#fff;border-radius:20px;width:100%;max-width:400px;padding:30px 26px 24px;text-align:center;transform:scale(.94);transition:.24s;box-shadow:0 14px 40px rgba(20,22,28,.12); }
#ticketApp .mask.show .modal{ transform:scale(1); }
#ticketApp .modal .ok-ico{ width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--tkt-gold),var(--tkt-brand));display:grid;place-items:center;margin:0 auto 14px; }
#ticketApp .modal .ok-ico svg{ width:30px;height:30px;color:#14161C; }
#ticketApp .modal h3{ font-size:19px;font-weight:700;margin-bottom:6px; }
#ticketApp .modal p{ font-size:13.2px;color:var(--tkt-ink-3);margin-bottom:14px; }
#ticketApp .ticket-no{ background:#F8F9FB;border:1px dashed var(--tkt-line);border-radius:10px;padding:10px;margin-bottom:6px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;letter-spacing:.5px; }
#ticketApp .modal-act{ display:flex;gap:10px;margin-top:18px; }
#ticketApp .modal-act .btn{ flex:1;height:42px;padding:0;font-size:13.8px; }
#ticketApp .loading-tip{ text-align:center;padding:34px 20px;color:var(--tkt-ink-4);font-size:13px; }
#ticketApp .dt{ position:relative; }
#ticketApp .dt>.ipt{ padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2379808E' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px;cursor:pointer; }
#ticketApp .dt-panel{ display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:352px;max-width:88vw;background:#fff;border:1px solid #E3E6ED;border-radius:12px;box-shadow:0 12px 32px rgba(20,22,28,.16);padding:12px; }
#ticketApp .dt.open .dt-panel{ display:block; }
#ticketApp .dt-hd{ display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px; }
#ticketApp .dt-hd b{ font-size:13.5px;font-weight:700; }
#ticketApp .dt-step{ width:26px;height:26px;border-radius:7px;background:#F2F4F8;color:var(--tkt-ink-2);font-size:13px;line-height:1; }
#ticketApp .dt-step:hover{ background:#FFE7BD;color:var(--tkt-brand-700); }
#ticketApp .dt-body{ display:flex;gap:10px; }
#ticketApp .dt-cal{ flex:1;min-width:0; }
#ticketApp .dt-week,#ticketApp .dt-days{ display:grid;grid-template-columns:repeat(7,1fr);gap:2px; }
#ticketApp .dt-week span{ text-align:center;font-size:11px;color:var(--tkt-ink-4);padding:2px 0; }
#ticketApp .dt-days button{ height:28px;border-radius:7px;font-size:12.5px;color:var(--tkt-ink-2); }
#ticketApp .dt-days button:hover{ background:#FFF6E5;color:var(--tkt-brand-700); }
#ticketApp .dt-days button.on{ background:linear-gradient(135deg,var(--tkt-brand),var(--tkt-brand-700));color:#fff;font-weight:600; }
#ticketApp .dt-days button.today{ box-shadow:inset 0 0 0 1px var(--tkt-brand); }
#ticketApp .dt-time{ display:flex;gap:4px;flex:none; }
#ticketApp .dt-col{ width:46px; }
#ticketApp .dt-col b{ display:block;text-align:center;font-size:11px;color:var(--tkt-ink-4);font-weight:500;margin-bottom:4px; }
#ticketApp .dt-col ul{ height:152px;overflow:auto;border:1px solid var(--tkt-line-2);border-radius:8px;padding:2px; }
#ticketApp .dt-col li{ text-align:center;font-size:12.5px;padding:4px 0;border-radius:6px;cursor:pointer;color:var(--tkt-ink-2); }
#ticketApp .dt-col li:hover{ background:#FFF6E5;color:var(--tkt-brand-700); }
#ticketApp .dt-col li.on{ background:var(--tkt-brand);color:#fff;font-weight:600; }
#ticketApp .dt-ft{ display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;border-top:1px solid var(--tkt-line-2);padding-top:10px; }
#ticketApp .dt-ft .now{ font-size:12.5px;color:var(--tkt-brand-700);font-weight:600; }
#ticketApp .dt-ft .ops{ display:flex;gap:8px; }
#ticketApp .dt-ft .ops button{ font-size:12.5px;padding:5px 14px;border-radius:15px; }
#ticketApp .dt-ok{ background:linear-gradient(135deg,var(--tkt-brand),var(--tkt-brand-700));color:#fff;font-weight:600; }
#ticketApp .dt-clear{ border:1px solid var(--tkt-line);color:var(--tkt-ink-2); }
@media (max-width:900px){
  #ticketApp .main{ grid-template-columns:1fr; }
  #ticketApp .side{ display:none; }
}
@media (max-width:820px){
  #ticketApp{ padding-bottom:86px; }
  #ticketApp .wrap{ padding:0 14px; }
  #ticketApp .m-bar{ display:flex; }
  #ticketApp .hero-in{ padding:22px 0 20px;gap:12px; }
  #ticketApp .hero h1{ font-size:22px;line-height:1.3; }
  #ticketApp .hero p{ font-size:12.6px;margin-top:9px; }
  #ticketApp .hero-meta{ gap:14px;margin-top:15px; }
  #ticketApp .hero-meta b{ font-size:16px; }
  #ticketApp .mascot{ width:106px;order:2; }
  #ticketApp .tkt-card{ padding:18px 16px;border-radius:14px;margin-bottom:14px; }
  #ticketApp .entries{ grid-template-columns:1fr;gap:11px; }
  #ticketApp .entry{ padding:16px; }
  #ticketApp .entry p{ min-height:0;margin:10px 0 12px; }
  #ticketApp .entry-foot{ gap:8px;flex-wrap:wrap; }
  #ticketApp .flow{ grid-template-columns:1fr;gap:16px; }
  #ticketApp .flow li{ text-align:left;padding:0;display:flex;align-items:flex-start;gap:12px; }
  #ticketApp .flow-num{ margin:0;width:32px;height:32px;flex:none;font-size:14px; }
  #ticketApp .notice-grid{ grid-template-columns:1fr; }
  #ticketApp .form-grid{ grid-template-columns:1fr;gap:16px; }
  #ticketApp .stat{ grid-template-columns:repeat(2,1fr); }
  #ticketApp .form-hd .pill{ margin-left:0; }
  #ticketApp .btn{ width:100%; }
  #ticketApp .modal{ max-width:340px; }
  /* iOS 上输入框字号小于 16px，聚焦时会把整页自动放大 */
  #ticketApp .ipt,#ticketApp .txa{ font-size:16px; }
  /* 时间选择面板：窄屏下改成底部弹层，日历与 时/分/秒 上下排布，避免超出屏幕或按钮被挤出可视区 */
  #ticketApp .dt-panel{ position:fixed;left:10px;right:10px;top:auto;bottom:10px;width:auto;max-width:none;max-height:84vh;overflow:auto;padding:12px;z-index:120; }
  #ticketApp .dt-body{ flex-direction:column;gap:8px; }
  #ticketApp .dt-time{ justify-content:space-between;gap:6px; }
  #ticketApp .dt-col{ flex:1;width:auto; }
  #ticketApp .dt-col ul{ height:104px;-webkit-overflow-scrolling:touch; }
  #ticketApp .dt-col li{ padding:6px 0; }
  #ticketApp .dt-days button{ height:34px;font-size:13px; }
  #ticketApp .tabbar{ display:flex;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:414px;background:rgba(255,255,255,.96);border-top:1px solid var(--tkt-line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:80; }
  #ticketApp .tabbar button{ flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0;font-size:10.5px;color:var(--tkt-ink-4); }
  #ticketApp .tabbar button svg{ width:21px;height:21px; }
  #ticketApp .tabbar button.on{ color:var(--tkt-brand-700);font-weight:600; }
}