:root{--cream:#f5fbff;--paper:#fff;--ink:#173657;--muted:#5d748a;--blue:#2476cf;--blue-dark:#173f79;--sun:#ffbd60;--coral:#ff8738;--line:rgba(26,80,131,.16);--shadow:0 24px 60px rgba(34,97,158,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:radial-gradient(circle at 98% 4%,#d8f4f4 0,transparent 27%),var(--cream);font-family:"Trebuchet MS","Avenir Next",Avenir,"Microsoft YaHei",sans-serif}
button,input,select,textarea{font:inherit}
a{color:inherit}
.topbar{height:74px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 clamp(20px,4.3vw,72px);background:rgba(251,254,255,.96);border-bottom:1px solid var(--line)}
.brand img{display:block;width:112px;max-height:52px}
.top-actions{display:flex;align-items:center;gap:12px}
.back-link,.language-select{min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.84rem;font-weight:800;color:var(--ink)}
.back-link{display:inline-flex;align-items:center;gap:6px;padding:0 15px;text-decoration:none}
.back-link:hover{border-color:var(--blue);color:var(--blue)}
.language-select{padding:0 12px;cursor:pointer}
.page-shell{width:min(1260px,calc(100% - 44px));margin:40px auto 88px;display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:34px;align-items:start}
.intro-panel{position:sticky;top:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:706px;overflow:hidden;padding:clamp(32px,4vw,58px);border-radius:29px;background:linear-gradient(152deg,#1776d4 0%,#329eef 56%,#49c8ce 100%);color:#fff;box-shadow:var(--shadow)}
.intro-content,.tip-card{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 5px rgba(255,189,96,.2)}
h1,h2,h3,p{margin-top:0}
h1{margin:27px 0 18px;font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-size:clamp(2.9rem,4.6vw,5.25rem);line-height:1.12;letter-spacing:-.04em}
.intro-copy{max-width:470px;color:rgba(255,255,255,.91);line-height:1.75;font-size:.97rem}
.journey{display:flex;align-items:flex-start;gap:9px;margin-top:45px}
.journey-item{display:grid;gap:12px;max-width:110px;font-size:.72rem;font-weight:800;line-height:1.35}
.journey-number{display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(255,255,255,.48);border-radius:11px;background:rgba(255,255,255,.13);font-size:.76rem}
.journey-line{width:18px;height:1px;flex:0 0 18px;margin-top:18px;background:rgba(255,255,255,.44)}
.tip-card{display:grid;grid-template-columns:34px 1fr;gap:14px;margin-top:85px;padding:20px;border:1px solid rgba(255,255,255,.35);border-radius:17px;background:rgba(13,81,143,.26);backdrop-filter:blur(8px)}
.tip-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--sun);color:#16436c;font-size:1.25rem}
.tip-card strong{font-size:.85rem}
.tip-card p{margin:7px 0 10px;color:rgba(255,255,255,.89);font-size:.78rem;line-height:1.6}
.tip-card a{font-size:.78rem;font-weight:900;text-underline-offset:3px}
.tip-card .faq-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-top:2px;padding:0 14px;border-radius:9px;background:var(--sun);color:#173657;text-decoration:none;box-shadow:0 3px 0 #d98f35}
.tip-card .faq-cta:hover{transform:translateY(1px);box-shadow:0 2px 0 #d98f35}
.decor{position:absolute;pointer-events:none;transform:rotate(27deg)}
.decor-one{right:-115px;top:195px;width:270px;height:270px;border:52px solid rgba(255,255,255,.11);border-radius:45px}
.decor-two{left:-96px;bottom:135px;width:230px;height:230px;border:1px solid rgba(255,255,255,.28);border-radius:50%}
.form-column{min-width:0}
.preview-banner{display:flex;align-items:flex-start;gap:11px;padding:13px 17px;margin-bottom:17px;border:1px solid #f2d7a4;border-radius:12px;background:#fff8e9;color:#755525;font-size:.79rem;line-height:1.5}
.preview-icon{font-size:1.12rem;line-height:1}
.form-card,.success-card{padding:clamp(25px,4.5vw,52px);border:1px solid rgba(255,255,255,.88);border-radius:28px;background:var(--paper);box-shadow:var(--shadow)}
.form-kicker{color:var(--blue);font-size:.72rem;font-weight:1000;letter-spacing:.15em;text-transform:uppercase}
.form-heading h2{margin:9px 0 8px;font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-size:clamp(2rem,3vw,2.8rem);line-height:1.18}
.form-heading p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.55}
.form-section{padding:31px 0;border-bottom:1px solid var(--line)}
.section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}
.section-number{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e9f5ff;color:var(--blue);font-size:.77rem;font-weight:1000}
.section-heading h3{margin:2px 0 4px;font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-size:1.3rem}
.section-heading p{margin:0;color:var(--muted);font-size:.79rem;line-height:1.5}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 18px}
.field{display:flex;flex-direction:column;min-width:0;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:.81rem;font-weight:900}
.required-star{color:#c64d3e;font-weight:900}
.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #c9dbe7;border-radius:10px;background:#fff;color:var(--ink);padding:12px 13px;outline:none;transition:border-color .15s,box-shadow .15s}
.field input,.field select{min-height:47px}
.field textarea{min-height:100px;resize:vertical;line-height:1.55}
.field input::placeholder,.field textarea::placeholder{color:#879aad}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(36,118,207,.15)}
.field input[readonly]{background:#f4f9fc;color:#5e7589}
.field :is(input,select,textarea)[aria-invalid="true"]{border-color:#c64d3e;box-shadow:0 0 0 3px rgba(198,77,62,.1)}
.date-time-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:8px}
.date-time-row input{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.category-panel{padding:20px;border:1px solid #b8d9ed;border-radius:14px;background:#f5fbff}
.category-panel h4{margin:0;color:var(--blue-dark);font-size:1rem}
.category-panel>p{margin:0 0 12px;color:var(--muted);font-size:.77rem;line-height:1.55}
.category-panel .field-grid{gap:14px}
.receipt-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:13px;padding:15px;border:1px dashed #9cc7e7;border-radius:11px;background:#fff}
.receipt-box strong{font-size:.81rem}
.receipt-box p{margin:5px 0 0;color:var(--muted);font-size:.72rem;line-height:1.55}
.receipt-button{display:grid;place-items:center;min-height:39px;padding:0 12px;border:1px solid #98bfde;border-radius:9px;background:#eef8ff;color:var(--blue-dark);font-size:.73rem;font-weight:900;white-space:nowrap;cursor:pointer}
.receipt-button:hover{background:#dff1ff}
.receipt-box input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.receipt-box:focus-within{outline:3px solid rgba(36,118,207,.18);outline-offset:2px}
.receipt-file{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:9px 11px;border-radius:8px;background:#eef8ff;font-size:.73rem}
.receipt-file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.receipt-file button{border:0;background:transparent;color:#a44334;font-size:.73rem;font-weight:900;cursor:pointer}
.field-hint{color:#71869a;font-size:.72rem;line-height:1.45}
.upload-zone{position:relative;display:flex;align-items:center;gap:16px;min-height:134px;padding:20px;border:1.5px dashed #9dc6e5;border-radius:16px;background:#f6fbff;transition:background .15s,border-color .15s}
.upload-zone.drag-over{border-color:var(--blue);background:#e7f5ff}
.upload-glyph{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#e2f2ff;color:var(--blue);font-size:1.8rem;font-weight:300}
.upload-zone strong{display:block;font-size:.86rem}
.upload-zone p{margin:5px 0 0;color:var(--muted);font-size:.75rem}
.upload-button{flex:0 0 auto;display:grid;place-items:center;min-height:39px;margin-left:auto;padding:0 15px;border:1px solid #98bfde;border-radius:9px;background:#fff;color:var(--blue-dark);font-size:.76rem;font-weight:900;cursor:pointer}
.upload-button:hover{background:#eaf6ff}
.upload-zone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;left:20px;bottom:20px}
.upload-zone:focus-within{outline:3px solid rgba(36,118,207,.18);outline-offset:2px}
#uploadRules{display:block;margin:11px 0 0}
.file-list{display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}
.file-list:empty{display:none}
.file-list li{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfdff;font-size:.77rem}
.file-type{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;border-radius:8px;background:#e8f4ff;color:var(--blue);font-weight:900}
.file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.file-size{color:var(--muted);white-space:nowrap}
.remove-file{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:6px;background:transparent;color:#7a8997;cursor:pointer;font-size:1.1rem}
.remove-file:hover{background:#ffede9;color:#a44334}
.form-error{min-height:0;margin:7px 0 0;color:#b54135;font-size:.76rem;font-weight:800}
.check-row{display:flex;align-items:flex-start;gap:11px;color:var(--ink);font-size:.81rem;line-height:1.55;cursor:pointer}
.check-row input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:var(--blue)}
.check-row strong{display:block}
.check-row small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem}
.diagnostics-details{margin-top:18px;padding:0 16px;border:1px solid var(--line);border-radius:11px;background:#fbfdff}
.diagnostics-details summary{padding:14px 0;color:var(--blue);font-size:.8rem;font-weight:900;cursor:pointer}
.diagnostics-grid{padding:5px 0 18px}
.diagnostics-grid .field-hint{margin:0}
.submit-area{padding-top:27px}
.privacy-row a{color:var(--blue);font-weight:900;text-underline-offset:2px}
.form-message{min-height:1.2em;margin:13px 0 10px;color:#b54135;font-size:.8rem;font-weight:800;line-height:1.45}
.form-message.info{color:#69531d}
.submit-button,.home-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;border:0;border-radius:11px;background:var(--sun);box-shadow:0 4px 0 #e69339;color:#153853;font-size:.9rem;font-weight:1000;cursor:pointer;text-decoration:none}
.submit-button:hover,.home-button:hover{transform:translateY(2px);box-shadow:0 2px 0 #e69339}
.submit-button:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:0 4px 0 #e69339}
.submit-note{margin:14px 0 0;text-align:center;color:var(--muted);font-size:.72rem;line-height:1.5}
.success-card{text-align:center}
.success-icon{display:grid;place-items:center;width:65px;height:65px;margin:0 auto 20px;border-radius:50%;background:#d8f5dc;color:#237747;font-size:2rem;font-weight:1000}
.success-card h2{margin:0 0 12px;font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-size:2rem}
.success-card p{color:var(--muted);line-height:1.65}
.ticket-number{display:inline-block;padding:10px 14px;border-radius:9px;background:#edf7ff;color:var(--blue-dark)!important;font-weight:900}
.home-button{width:max-content;min-width:180px;margin:25px auto 0;padding:0 20px}
.footer{display:block;min-height:0;padding:44px clamp(24px,6vw,90px) 34px;background:#15385f;color:#e8e2ff;font-size:.75rem}
.footer-brand img{display:block;width:112px;margin-bottom:10px}
.footer-brand small{display:block;color:#b2c9de;font-size:.73rem}
.footer-legal{display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);color:#a9bed3;font-size:.7rem}
.footer nav{display:flex;flex-wrap:wrap;gap:18px}
.footer a{text-underline-offset:3px}
:focus-visible{outline:3px solid rgba(36,118,207,.55);outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:920px){.page-shell{grid-template-columns:1fr;max-width:740px}.intro-panel{position:relative;top:auto;min-height:0;gap:25px}.tip-card{margin-top:12px}.journey{margin-top:25px}}
@media(max-width:580px){.topbar{height:66px;padding:0 17px}.brand img{width:93px}.back-link{padding:0 9px}.back-link span:last-child{display:none}.language-select{max-width:104px;font-size:.74rem}.page-shell{width:calc(100% - 24px);margin:17px auto 45px;gap:17px}.intro-panel{padding:29px 25px;border-radius:20px}.intro-panel h1{font-size:2.9rem;margin:18px 0 11px}.intro-copy{font-size:.86rem}.journey{margin-top:22px}.journey-item{font-size:.66rem}.journey-line{flex-basis:11px;width:11px}.tip-card{padding:15px;margin-top:12px}.form-card,.success-card{padding:25px 20px;border-radius:19px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.upload-zone{align-items:flex-start;flex-wrap:wrap;gap:10px}.upload-button{width:100%;margin-left:0}.receipt-box{grid-template-columns:1fr}.receipt-button{width:100%}.footer-legal{flex-direction:column}.footer nav{gap:12px 18px}}
@media(max-width:920px) and (max-height:550px) and (orientation:landscape){.topbar{height:58px}.page-shell{width:calc(100% - 30px);margin:12px auto 34px;gap:12px}.intro-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.55fr);gap:16px;min-height:0;padding:20px 23px;border-radius:17px}.intro-panel h1{font-size:clamp(1.8rem,4vw,2.45rem);margin:11px 0 8px}.intro-copy{margin:0;font-size:.76rem;line-height:1.45}.journey{display:none}.tip-card{align-self:center;margin:0;padding:12px;grid-template-columns:1fr}.tip-icon,.tip-card p{display:none}.tip-card .faq-cta{margin-top:8px}.form-card,.success-card{padding:25px}.footer{padding-top:28px}}
@supports(padding:max(0px)){.topbar{padding-left:max(clamp(17px,4.3vw,72px),env(safe-area-inset-left));padding-right:max(clamp(17px,4.3vw,72px),env(safe-area-inset-right))}.footer{padding-left:max(clamp(24px,6vw,90px),env(safe-area-inset-left));padding-right:max(clamp(24px,6vw,90px),env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
