:root{
  --navy:#082d67;--blue:#145ba8;--teal:#0f9db8;--cyan:#63d6ed;--gold:#f4b942;
  --ink:#17324f;--muted:#63778c;--line:#d8e7f4;--panel:#fff;--bg:#f4f9fd;
  --success:#147a5b;--warn:#9b6200;--danger:#b7313c;--shadow:0 16px 44px rgba(8,45,103,.11);
  --radius:22px;--max:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;color:var(--ink);background:linear-gradient(180deg,#edf8ff,#f7fbff 34%,#f4f9fd);line-height:1.65}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 32px));margin:auto}
.sitebar{position:sticky;top:0;z-index:30;background:rgba(5,31,73,.96);color:#fff}.sitebar-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-weight:850}.brand small{display:block;font-weight:500;color:#cbe8ff;font-size:.75rem}.navlinks{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.navlinks a{opacity:.9}.navlinks a:hover{opacity:1;color:#bfefff}.nav-cta{padding:9px 14px;border-radius:999px;background:linear-gradient(135deg,#ffd66a,#f4b942);color:#17324f!important;font-weight:850}
.hero,.page-head{color:#fff;background:linear-gradient(130deg,#092e69,#0d71ab 60%,#23a9b9)}.hero{padding:68px 0}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}.hero h1{font-size:clamp(2.4rem,5vw,4.5rem);margin:0 0 8px;line-height:1.08}.hero h2{margin:0 0 14px;color:#d9f3ff}.hero-card{padding:24px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.11);border-radius:22px;backdrop-filter:blur(10px)}.page-head{padding:42px 0}.page-head h1{margin:0 0 6px}.page-head p{margin:0;color:#dbf4ff}
.content{padding:30px 0 62px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.panel h2,.panel h3{color:var(--navy);margin-top:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.stat b{display:block;font-size:1.65rem;color:var(--navy)}.muted{color:var(--muted)}.small{font-size:.86rem}
.btn{border:0;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 18px;border-radius:12px;font-weight:800}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#ffd76b,#f5b83c);color:#17324f}.btn-blue{background:linear-gradient(135deg,var(--blue),#0d74bd);color:#fff}.btn-outline{border:1px solid #bad5eb;background:#fff;color:var(--blue)}.btn-danger{background:#fff1f2;color:var(--danger);border:1px solid #f0c6ca}.btn-sm{padding:8px 11px;border-radius:10px;font-size:.9rem}
.actions{display:flex;gap:10px;flex-wrap:wrap}.notice{padding:13px 15px;border-radius:12px;margin:12px 0;border:1px solid #dce8f2;background:#f5f9fc}.notice.success{background:#eef9f4;border-color:#bfe4d5;color:#14684f}.notice.warn{background:#fff8eb;border-color:#f1d8a9;color:#7e4b00}.notice.error{background:#fff1f2;border-color:#f0c6ca;color:#9f2933}.hidden{display:none!important}
.fee-card{padding:19px;border:1px solid #dce9f5;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbff)}.fee-card strong{display:block;color:var(--navy);font-size:1.06rem}.fee-card .price{font-size:1.65rem;font-weight:900;color:#145ba8;margin:5px 0}.fee-card p{margin:0;color:var(--muted);font-size:.92rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:760;color:#26415c}.field input,.field select,.field textarea{width:100%;border:1px solid #bfd3e5;border-radius:11px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#56a8da;box-shadow:0 0 0 3px rgba(49,145,202,.12)}.help{font-size:.84rem;color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}
.checkbox-row{display:flex;align-items:flex-start;gap:10px}.checkbox-row input{width:18px!important;height:18px;flex:0 0 18px;margin-top:4px}
.summary-box{padding:18px;border-radius:16px;background:#eef7ff;border:1px solid #cce1f2}.summary-box .amount{font-size:2rem;color:#0c579f;font-weight:900}.summary-box strong{color:var(--navy)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.data-table{border-collapse:collapse;width:100%;min-width:900px;background:#fff}.data-table th,.data-table td{padding:12px 13px;border-bottom:1px solid #e5edf5;text-align:left;vertical-align:top}.data-table th{font-size:.86rem;background:#f2f7fb;color:#4d647b}.data-table tr:last-child td{border-bottom:0}
.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.82rem;font-weight:800;background:#eaf2f8;color:#4e657b}.status-pending_payment{background:#fff5dc;color:#8a5b00}.status-payment_submitted{background:#e8f4ff;color:#155f9d}.status-paid{background:#e9f8f1;color:#147255}.status-reupload_required{background:#fff0f1;color:#a7333d}.status-cancelled{background:#eef0f2;color:#65717b}
.upload-box{border:2px dashed #9cc5e0;border-radius:16px;padding:22px;text-align:center;background:#f7fbfe}.upload-box input{max-width:100%}.payment-instructions{padding:18px;border-radius:16px;background:#fff9e8;border:1px solid #f0d89d}.payment-instructions strong{color:#6e4d00}.payment-instructions code{background:#fff;padding:2px 5px;border-radius:5px}
.auth-shell{max-width:760px;margin:0 auto}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#edf5fb;padding:6px;border-radius:14px;margin-bottom:18px}.auth-tab{border:0;background:transparent;padding:11px;border-radius:10px;cursor:pointer;color:var(--muted);font-weight:800}.auth-tab.active{background:#fff;color:var(--navy);box-shadow:0 3px 10px rgba(7,52,103,.09)}
footer{background:#071e43;color:#d5e9fb;padding:28px 0}.footer-note{color:#a9c6de;font-size:.88rem}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.hero-grid,.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.navlinks a:not(.nav-cta){display:none}}
@media(max-width:640px){.form-grid,.stat-grid{grid-template-columns:1fr}.panel{padding:18px}.hero{padding:48px 0}.hero h1{font-size:2.45rem}}
