
/* KHS Fieldtrip v3 — restrained civic/editorial rather than generic dashboard */
:root{--sync-ink:#1f3229;--sync-red:#934233;--sync-paper:#f7f3e9;--sync-line:#d3d0c6}
#syncGate{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:#f7f3e9;padding:20px;overflow:auto}
#syncGate[hidden]{display:none!important}
.sync-shell{width:min(840px,100%);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#fffdf7;border:1px solid #d7d1c5;box-shadow:0 15px 50px #273d3030}
.sync-identity{background:var(--sync-ink);color:#f7f3e9;padding:37px 30px 35px;display:flex;flex-direction:column;gap:14px}
.sync-mark{font-size:12px;color:#d8c0a4;letter-spacing:.17em;font-weight:800}
.sync-identity h2{font-family:"Batang","Noto Serif KR",serif;font-size:clamp(27px,3vw,37px);line-height:1.5;letter-spacing:-.06em;color:white;margin:16px 0 0}
.sync-identity p{font-size:14px;line-height:1.85;color:#d1ddd1;margin:0}
.sync-steps{list-style:none;padding:0;margin:auto 0 0;display:grid;gap:11px;font-size:13px;color:#e0e6de}
.sync-steps li{border-top:1px solid #718276;padding-top:10px}
.sync-steps b{color:#edc69f;margin-right:9px}
.sync-form-col{padding:31px 30px 28px}
.sync-form-col h3{font-size:24px;font-family:"Batang",serif;letter-spacing:-.05em;margin:10px 0}
.sync-form-col .hint{font-size:13px;color:#59675b;line-height:1.75}
.sync-tabs{display:flex;gap:0;border-bottom:1px solid #d1d0c7;margin-bottom:23px}
.sync-tab{background:transparent;border:none;border-bottom:3px solid transparent;color:#6a746c;font-weight:800;padding:10px 16px 12px}
.sync-tab[aria-selected="true"]{border-color:var(--sync-red);color:var(--sync-red)}
.sync-form{display:grid;gap:13px;margin-top:17px}
.sync-form label{font-size:13px;font-weight:800;color:#27382d}
.sync-form input{display:block;width:100%;font-size:16px;border:1px solid #a9b2a7;background:white;color:#27382d;border-radius:2px;padding:11px 12px;margin-top:6px}
.sync-form input:focus{outline:2px solid #cba76f;outline-offset:2px}
.sync-check{font-size:12px!important;line-height:1.65;color:#536257!important;display:flex;gap:10px;align-items:start}
.sync-check input{width:17px;flex:none;margin:4px 0 0}
.sync-action{background:var(--sync-ink);border:1px solid var(--sync-ink);color:white;font-size:15px;padding:12px 18px;font-weight:800;width:100%}
.sync-action:disabled{opacity:.5;cursor:wait}
.sync-action.subtle{width:auto;color:var(--sync-ink);background:transparent}
.sync-message{min-height:24px;font-size:13px;color:#a33327;font-weight:700}
.sync-options{display:flex;gap:11px;flex-wrap:wrap;margin:15px 0}
.sync-options button{border:1px solid var(--sync-ink);background:transparent;padding:10px 13px;color:var(--sync-ink);font-weight:800}
.sync-options .main{background:var(--sync-ink);color:white}
.sync-bar{background:#edf0ea;border-bottom:1px solid #b7c0b6;color:#243a2f;padding:10px max(20px,calc((100vw - 1050px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sync-bar strong{font-size:14px}
.sync-bar .sync-note{font-size:12px;color:#57665b}
.sync-bar .sync-actions{display:flex;gap:7px;flex-wrap:wrap}
.sync-bar button,.sync-bar a{font-size:12px;background:transparent;border:1px solid #8c9b8c;color:#233b2c;padding:7px 10px;text-decoration:none;cursor:pointer;font-weight:700}
.sync-bar button:hover{background:#dce4d9}
.sync-guide{font-size:12px;color:#536356;line-height:1.75}
.sync-offline{color:#9d4334!important;font-weight:800}
.sync-save-success{color:#1b6850!important;font-weight:800}
.sync-conflict{border:2px solid #ad473b;background:#fff8f1;padding:16px 18px;margin:12px 0}
.sync-gate-readonly{color:#69766d;font-size:12px;display:block;margin-top:19px}
.sync-backup{padding:14px 0;border-top:1px solid #d8d9ce;margin-top:10px;font-size:12px}
@media(max-width:690px){#syncGate{padding:0;place-items:start}.sync-shell{width:100%;min-height:100dvh;display:block;box-shadow:none;border:0}.sync-identity{padding:25px 22px 18px;gap:7px}.sync-identity h2{font-size:25px;margin:1px 0}.sync-identity p{font-size:12px}.sync-steps{display:none}.sync-form-col{padding:22px}.sync-form{gap:10px}.sync-form-col h3{font-size:22px}.sync-bar{padding:10px 15px}.sync-bar .sync-actions{margin-left:auto}}
@media print{#syncGate,.sync-bar{display:none!important}}

#syncGate [hidden],#syncBar[hidden]{display:none!important}
