:root{color-scheme:dark;--bg:#11191f;--panel:#1a252d;--field:#101b23;--border:#34434d;--text:#f5f6f7;--muted:#b2bec7;--gold:#efc268;--error:#ffb5aa;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;font-size:16px}*{box-sizing:border-box}html{scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,label.button{touch-action:manipulation}button,.button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.dropzone:focus-within{outline:3px solid var(--gold);outline-offset:4px}button:focus:not(:focus-visible){outline:0}[hidden]{display:none!important}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#0d151bdd;border-bottom:1px solid var(--border);padding:18px 5%;position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;line-height:1.3}.brand img{width:44px;height:44px;object-fit:cover;border-radius:5px}.brand span{display:block;color:var(--muted);font-size:14px;font-weight:400;margin-top:4px}.top-actions{display:flex;gap:24px;font-size:15px}.top-actions a:hover{color:var(--gold)}.workspace{max-width:1360px;margin:auto;padding:36px 5% 140px}.heading{display:flex;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow{color:var(--gold);font-size:14px;letter-spacing:2px;margin:0 0 8px;font-weight:700}h1{font-size:32px;line-height:1.35;letter-spacing:.01em;margin:0 0 10px}h2{font-size:23px;line-height:1.4;margin:0 0 12px}p{margin:8px 0 16px}.muted{color:var(--muted)}.save-summary{font-size:14px;align-self:end;display:flex;flex-direction:column;text-align:right}.editor-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:30px}.sections{position:sticky;top:112px;align-self:start}.sections a{padding:12px 14px;display:flex;justify-content:space-between;border-left:3px solid transparent;font-size:16px}.sections a.active,.sections a:hover{background:#22313c;border-color:var(--gold);color:var(--gold)}.sections p{font-size:14px;color:var(--muted);padding:16px}.sections span{font-size:14px}.panels{min-width:0}.panel{padding:26px;border:1px solid var(--border);background:var(--panel);border-radius:10px;margin-bottom:26px}.panel-heading{display:flex;justify-content:space-between}.panel-heading p{font-size:15px}.dropzone{display:flex;align-items:center;gap:16px;border:1px dashed #657985;background:#14212a;border-radius:8px;padding:24px;margin:22px 0}.dropzone.dragging{border-color:var(--gold);background:#2c2c24}.dropzone p{font-size:14px;margin:4px 0 0;color:var(--muted)}.dropzone .button{margin-left:auto;white-space:nowrap}.upload-icon{width:42px;height:42px;display:grid;place-items:center;background:#253747;border-radius:50%;font-size:28px;color:var(--gold)}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:6px;border:1px solid transparent;font-weight:700;font-size:16px;text-align:center}.primary{color:#14202a;background:var(--gold)}.primary:hover{background:#ffdc91}.secondary{border-color:#526574;color:var(--text);background:#223440}.secondary:hover{background:#314b5d}.danger{background:#522c2d;color:#ffd1cb;border-color:#92514e}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.fields label{display:flex;flex-direction:column;gap:7px;font-size:15px}.fields small{color:var(--muted);font-size:14px}.wide{grid-column:1/-1}input,textarea{background:var(--field);border:1px solid #49606f;border-radius:5px;padding:12px;color:var(--text);width:100%;min-width:0;font-size:16px}textarea{resize:vertical;min-height:100px}input:focus,textarea:focus{border-color:var(--gold)}.photo-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.photo-card{background:#121e27;border:1px solid var(--border);border-radius:8px;overflow:hidden;min-width:0}.photo-image{display:block;border:0;padding:0;width:100%;background:#0c141a}.photo-image img{width:100%;height:210px;object-fit:cover;display:block;transition:opacity .2s}.photo-image:hover img{opacity:.85}.photo-meta{padding:16px}.photo-meta label{display:block;font-size:14px;margin-bottom:10px}.photo-meta input,.photo-meta textarea{margin-top:5px}.photo-meta textarea{min-height:82px;font-size:15px}.photo-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.move-buttons{display:flex;gap:6px}.icon-button{border:1px solid #435562;background:#1d303e;color:var(--text);border-radius:5px;min-width:42px;min-height:40px;font-size:19px}.delete-button{color:#ffbdb3;background:transparent;border:0;padding:9px;font-size:14px}.service-item{padding-top:20px;margin-top:20px;border-top:1px solid var(--border)}.service-item h3{color:var(--gold);font-size:16px;margin:0 0 12px}.savebar{position:fixed;bottom:0;left:0;right:0;padding:18px max(5%,calc((100vw - 1224px)/2));background:#0e181ff5;border-top:1px solid #415362;display:flex;justify-content:space-between;gap:20px;align-items:center;z-index:20;box-shadow:0 -10px 40px #0004}.savebar span{display:block;font-size:14px;color:var(--muted);margin-top:3px}.message{padding:15px 18px;border:1px solid #647147;background:#25301f;border-radius:6px;margin-bottom:22px;overflow-wrap:anywhere}.message.error{background:#382426;border-color:#a46761;color:#ffd4cd}.loading{padding:38px;background:var(--panel);border:1px solid var(--border);border-radius:8px}#upload-status{font-size:15px;color:var(--gold);white-space:pre-line}dialog{background:var(--panel);color:var(--text);border:1px solid #51616b;border-radius:12px;padding:28px;max-width:min(560px,94vw)}dialog::backdrop{background:#000b}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}#preview-dialog{max-width:94vw;max-height:94vh;padding:12px}#preview-image{display:block;max-width:85vw;max-height:75vh;object-fit:contain}.close-preview{display:flex;margin-left:auto;margin-bottom:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#344553 0,#101a22 62%)}.login-card{width:100%;max-width:480px;padding:44px 32px;background:#17232ce8;border:1px solid #46535a;border-top:3px solid var(--gold);border-radius:12px;box-shadow:0 20px 80px #0005;text-align:center}.login-logo{width:80px;height:80px;object-fit:cover;border-radius:6px;margin-bottom:24px}.login-card h1{font-size:28px}.login-card .button{width:100%;margin:16px 0}.back-home{display:block;color:var(--muted);font-size:15px;margin-top:12px}@media(max-width:1000px){.editor-layout{grid-template-columns:1fr}.sections{position:static;display:flex;gap:5px;overflow-x:auto;margin-bottom:-8px}.sections a{white-space:nowrap;border-left:0;border-bottom:3px solid transparent;font-size:15px}.sections span{margin-left:8px}.sections p{display:none}.heading{flex-direction:column;gap:8px}.save-summary{text-align:left;align-self:start}.workspace{padding-top:28px}}@media(max-width:640px){h1{font-size:27px}.top{padding:14px 16px}.brand{font-size:17px}.brand img{width:36px;height:36px}.brand span{font-size:14px}.top-actions{gap:14px;font-size:14px}.workspace{padding:26px 16px 160px}.panel{padding:18px}.fields,.photo-list{grid-template-columns:1fr}.dropzone{flex-wrap:wrap;padding:18px;gap:12px}.dropzone .upload-icon{display:none}.dropzone .button{width:100%;margin:6px 0 0}.photo-image img{height:240px}.savebar{padding:12px 16px;gap:12px;flex-direction:column;align-items:stretch}.savebar strong{font-size:15px}.savebar span{font-size:14px}.savebar .button{width:100%}.dialog-actions{flex-direction:column}.save-summary{overflow-wrap:anywhere}#preview-image{max-width:82vw}html{scroll-padding-top:92px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.service-editor-grid{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:24px;align-items:start}
.service-photo{min-width:0}.service-photo .photo-image{border-radius:6px;overflow:hidden}.service-photo .photo-image img{height:auto;aspect-ratio:3/2;object-fit:cover}
.service-photo .button{width:100%;margin-top:12px}.service-photo-help{font-size:14px}.service-upload-status{color:var(--gold);font-size:14px;margin:10px 0 0;overflow-wrap:anywhere}.service-upload-status:empty{display:none}.service-upload-status.error{color:var(--error)}
@media(max-width:640px){.service-editor-grid{grid-template-columns:minmax(0,1fr);gap:18px}.service-photo .photo-image img{max-height:260px}}

.service-video-editor{margin-top:24px;padding:20px;background:#101b24;border:1px solid #3a4853;border-radius:8px}.service-video-editor h4{font-size:17px;margin:0 0 14px;color:#edc477}.service-video-editor video{display:block;width:100%;max-width:560px;max-height:350px;aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:6px}.video-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:16px}.service-video-editor .muted{margin:0}.service-video-editor .service-upload-status:empty{display:none}.service-upload-status.error{color:#ffb8ab}@media(max-width:640px){.service-video-editor{padding:16px}.video-actions{align-items:stretch}.video-actions .button{flex:1}}
