:root{font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif;color:#19232c;background:#f4f5f2;font-size:15px}*{box-sizing:border-box}body{margin:0}header{min-height:82px;padding:18px 5vw;display:flex;gap:20px;align-items:center;border-bottom:1px solid #ddd}header img{width:76px;height:46px;object-fit:contain}header span{flex:1;font-weight:600}main{max-width:860px;margin:60px auto;padding:0 24px;min-height:65vh}#auth{max-width:490px;margin:auto}h1{font-size:clamp(30px,5vw,44px);line-height:1.35;letter-spacing:-1px}h2{font-size:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#64766d}.muted{color:#69716e;font-size:13px;line-height:1.8}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer;background:white;border:1px solid #ccd2cd;padding:10px 16px;border-radius:4px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#19232c;color:white;border-color:#19232c;width:100%;margin-top:15px}.card{background:white;border:1px solid #e0e4de;border-radius:8px;padding:24px;margin:22px 0}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.tabs button{border:0;color:#717976;background:transparent;border-bottom:2px solid transparent;border-radius:0;padding:10px}.tabs .active{border-bottom-color:#19232c;color:#19232c;font-weight:700}label{display:block;margin:16px 0;font-size:13px}input,select{display:block;width:100%;margin-top:7px;border:1px solid #ccd2cd;padding:12px;border-radius:4px;background:white}#setup:not(:empty),.notice{background:#edf1eb;border-left:3px solid #697e69;padding:14px;font-size:13px;line-height:1.8}.record{background:white;padding:20px;border:1px solid #e0e4de;border-radius:7px;margin:14px 0}.row{display:flex;justify-content:space-between;gap:15px;align-items:center}.badge{font-size:12px;padding:5px 10px;border-radius:20px;background:#eef2ec;white-space:nowrap}.amount{font-size:25px;font-weight:600}footer{text-align:center;padding:30px;font-size:10px;letter-spacing:2px;color:#7b827d}[hidden]{display:none!important}#auth-message,#workspace-message{line-height:1.8;font-size:14px}button:focus-visible,a:focus-visible{outline:3px solid #91afa4} @media(max-width:500px){main{margin-top:32px}.card{padding:18px}}

input::placeholder{color:#939b97;opacity:1}.field-help{display:block;color:#6d7571;font-size:11px;line-height:1.7;margin-top:8px}.english-heading{display:block;font-size:17px;letter-spacing:0;line-height:1.6;font-weight:400;color:#69716e;margin-top:18px}.tabs{gap:4px}.tabs button{font-size:12px}.badge{white-space:normal;text-align:center}header span{font-size:13px}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}textarea{font:inherit;width:100%;display:block;margin-top:8px;padding:12px;border:1px solid #ccd2cd;border-radius:4px;resize:vertical}.coach-list{max-height:270px;overflow:auto;margin:12px 0}.coach-option{display:flex;align-items:center;gap:12px;margin:0;padding:10px;border-bottom:1px solid #eee}.coach-option input,.inline-check input{width:auto;display:inline-block;margin:0}.coach-option small{display:block;color:#69716e;font-size:11px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.actions .primary{width:auto;margin:0}.inline-check{display:flex;align-items:center;gap:10px}fieldset{border:1px solid #ccd2cd;border-radius:5px;margin-top:20px}legend{font-size:13px}.crew{margin:16px 0;padding:12px;background:#f2f5ef;border-radius:4px;font-size:13px}.map-link{display:inline-block;margin:4px 0;font-weight:600;font-size:13px}.record .muted{white-space:pre-line;overflow-wrap:anywhere}@media(max-width:600px){.form-grid{grid-template-columns:1fr;gap:0}.actions button{width:100%}}

#profile-dialog,#review-dialog{box-sizing:border-box;width:min(660px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:90dvh;overflow-y:auto;overflow-x:hidden;border:1px solid #c5cfd4;border-radius:12px;padding:30px;background:#fafbf9;color:#19232c}dialog::backdrop{background:#17232dcc}#profile-dialog h2{font-size:24px;margin:15px 0}.profile-fields{display:grid;grid-template-columns:1fr;gap:0}.profile-fields label{margin-bottom:18px}.profile-fields input,.profile-fields select,.profile-fields textarea{max-width:100%;box-sizing:border-box}#profile-dialog .inline-check{align-items:flex-start;line-height:1.8;font-size:12px}#profile-dialog .inline-check input{margin-top:5px;flex-shrink:0}#profile-dialog .actions{justify-content:flex-start}#profile-dialog .actions button{width:auto}.sensitive-details{display:grid;grid-template-columns:150px 1fr;gap:12px;border-top:1px solid #dbe0dc;padding-top:20px}.sensitive-details dt{color:#65736d;font-size:12px}.sensitive-details dd{margin:0;overflow-wrap:anywhere;font-size:14px}#admin-profile{width:min(720px,90vw);max-height:85dvh;overflow:auto;padding:28px;border:1px solid #c5cfd4;border-radius:10px}#admin-profile .close-profile{float:right}.approval-mail{display:inline-block;padding:10px 14px;border:1px solid #bac8bf;border-radius:4px}#workspace-message{margin:22px 0;padding:16px;border-left:3px solid #7a8d81;background:#eff2ed}#workspace-message:empty{display:none}@media(max-width:600px){#profile-dialog,#review-dialog{padding:22px}.sensitive-details{grid-template-columns:1fr;gap:6px}.sensitive-details dd{margin-bottom:12px}}

.save-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:save-spin .75s linear infinite;vertical-align:middle;margin-right:.5em}@keyframes save-spin{to{transform:rotate(360deg)}}button[aria-busy=true]{cursor:wait}button:disabled{cursor:wait;opacity:.65}
