.gs-who{margin-left:8px}
.gs-need{font:inherit; background:none; border:0; padding:0; color:var(--blue); cursor:pointer; text-decoration:none}
.ev-acts .gs-need{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase}
.gs-provs{display:flex; flex-direction:column; gap:10px; margin-top:16px}
.gs-prov{display:flex; align-items:center; gap:12px; width:100%; padding:13px 16px; border:1px solid var(--edge); border-radius:12px; background:var(--card); font:inherit; font-weight:600; color:var(--ink); cursor:pointer; text-align:left}
.gs-prov:hover{border-color:var(--blue)}
.gs-prov .ic{display:inline-flex; width:22px; justify-content:center}
.gs-sheet{position:fixed; inset:0; z-index:60; background:rgba(27,22,24,.42); display:flex; align-items:center; justify-content:center; padding:20px}
.gs-sheet[hidden]{display:none}
.gs-card{position:relative; background:var(--card); border-radius:18px; padding:30px 30px 26px; max-width:440px; width:100%; box-shadow:0 30px 60px rgba(27,22,24,.22); overflow:hidden}
.gs-card h3{margin:14px 0 8px; font-size:1.45rem; letter-spacing:-.02em}
.gs-card p{margin:0; color:var(--ink-2)}
.gs-lintel{position:absolute; left:0; right:0; top:0; height:44px; pointer-events:none}
.gs-lintel svg{width:100%; height:100%; display:block}
.gs-x{position:absolute; top:12px; right:12px; background:none; border:0; font-size:22px; line-height:1; cursor:pointer; color:var(--ink-2); padding:6px 8px}
.gs-line{position:relative; height:74px; margin:6px 0 -6px}
.gs-line svg{position:absolute; inset:0; width:100%; height:100%}
.gs-line g{transition:opacity .5s ease}
.gs-q{background:var(--card); border:1px solid var(--edge); border-radius:14px; padding:18px 20px 16px; margin-top:12px}
.gs-q .top{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:8px}
.gs-q .top b{font-size:1.05rem}
.gs-q dl{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:6px 16px; margin:0 0 10px}
.gs-q dt{font-family:var(--mono); font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-2)}
.gs-q dd{margin:2px 0 0; font-size:14.5px}
.gs-q .acts{display:flex; gap:8px; flex-wrap:wrap}
.gs-confirm{background:var(--warm-wash); border-radius:10px; padding:14px 16px; margin-top:10px}
.gs-confirm p{margin:0 0 10px; font-size:14.5px}
.btn-warn{background:var(--warm); color:#fff; border-color:var(--warm)}
.chip-wait{background:var(--warm-wash); color:var(--warm)}
.chip-ok{background:#E6F0E8; color:#2F6B3A}
.chip-no{background:var(--tint); color:var(--ink-2)}
.gs-flag{font-size:14px; color:var(--warm); margin:0 0 10px}
.gs-lockcard{background:var(--card); border:1px solid var(--edge); border-radius:var(--r); padding:28px 30px 26px; box-shadow:var(--lift)}
.gs-lockcard h3{margin:10px 0 8px; font-size:1.3rem; letter-spacing:-.015em}
.gs-lockcard p{color:var(--ink-2); margin:0}
body.gs-in .lockbox, body.gs-in #relock{display:none}
.gs-fake{font-family:var(--mono); font-size:11px; color:var(--ink-2); margin-top:12px}
button.qc{font:inherit; text-align:left; cursor:pointer; color:inherit}
button.qc:hover{border-color:var(--blue)}
body:not(.gs-ready) #view{visibility:hidden}
.gs-perchbox{position:relative; height:30px; margin:-8px 0 6px}
.gs-perchbox svg{position:absolute; inset:0; width:100%; height:100%}
