/* Salon planı (portal ve yönetici paneli ortak) */
:root{--free:rgba(80,170,40,.42);--free-h:rgba(80,170,40,.72);--sel:rgba(166,30,36,.8);--mine:rgba(30,100,200,.6);--hold:rgba(240,165,30,.62);--sold:rgba(95,95,95,.6);--line:#e3dfd8;--olive:#5f6a28;--red:#A61E24;--mute:#5c5c5c}
.plan-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.hall-tabs button{border:1px solid var(--line);background:#fff;padding:4px 10px;cursor:pointer}.hall-tabs button.on{background:var(--olive);color:#fff}
.zoom button{width:34px;height:34px;border:1px solid var(--line);background:#fff;font-size:18px;cursor:pointer}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--mute);margin:6px 0 10px}
.legend i{display:inline-block;width:16px;height:14px;border-radius:3px;vertical-align:-3px;margin-inline-end:5px;border:1px solid #0004}
.lg-free{background:var(--free)}.lg-sel{background:var(--sel)}.lg-mine{background:var(--mine)}
.lg-hold{background:repeating-linear-gradient(90deg,var(--hold) 0 4px,rgba(240,165,30,.3) 4px 6px);border-style:dashed!important}
.lg-sold{background:repeating-linear-gradient(45deg,var(--sold) 0 3px,rgba(255,255,255,.5) 3px 6px)}
.lg-blocked{background:repeating-linear-gradient(45deg,#333 0 3px,rgba(255,255,255,.6) 3px 6px)}
.plan{overflow:auto;max-height:78vh;border:1px solid var(--line);border-radius:6px;background:#fff;direction:ltr;touch-action:pan-x pan-y}
.plan svg{display:block;width:100%;height:auto}
.st{stroke:transparent;stroke-width:3;cursor:pointer;transition:fill .12s}
.st.free{fill:var(--free)}.st.free:hover,.st.free:focus{fill:var(--free-h);stroke:var(--olive)}
.st.sel{fill:var(--sel);stroke:var(--red);stroke-width:5}
.st.mine{fill:var(--mine);stroke:#0d3f86;stroke-width:4}
.st.hold{fill:var(--hold);stroke:#a86b00;stroke-dasharray:8 5;cursor:help}
.st.sold{fill:url(#hatch);stroke:#444;cursor:help}
.st.blocked{fill:url(#hatch);stroke:#111;cursor:not-allowed;opacity:.85}
.hatch-bg{fill:var(--sold)}.hatch-line{stroke:rgba(255,255,255,.55);stroke-width:4}
.st.flash{stroke:#1a5fd0;stroke-width:10}
.tip{position:fixed;z-index:30;background:#1d1d1d;color:#fff;font-size:12.5px;padding:8px 10px;border-radius:6px;pointer-events:none;max-width:300px;box-shadow:0 4px 14px #0004;line-height:1.5}
.tip span{color:#bbb}.tip-head{margin-bottom:3px;border-bottom:1px solid #444;padding-bottom:3px}
.tip-free{color:#a6e27a}.tip-ok b{color:#a6e27a}.tip-warn b{color:#ffc65c}.tip-pay-unpaid b{color:#ff8f8f}.tip-pay-partial b{color:#ffc65c}.tip-pay-paid b{color:#a6e27a}
.tip-note{color:#ccc;font-style:italic}
.find summary{cursor:pointer;font-size:13px;color:var(--olive);font-weight:600;margin-top:6px}
.find input{margin:8px 0}
.flist{display:flex;flex-wrap:wrap;gap:6px;max-height:240px;overflow:auto}
.flist button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:3px 9px;font-size:12px;cursor:pointer;color:var(--ink)}
.flist .fl-free{border-color:var(--olive)}.flist .fl-sel{background:var(--red);color:#fff;border-color:var(--red)}
.flist .fl-mine{background:var(--mine);color:#fff}.flist .fl-hold,.flist .fl-sold,.flist .fl-blocked{opacity:.55}
