/* ShulSpark · High Holiday seating module v2 · all selectors namespaced .ssx- */
.ssx{--n:var(--navy,#0E2240);--n3:var(--navy-3,#24406b);--t:var(--teal,#0F8B8D);--t2:var(--teal-2,#0B6F71);--ts:var(--teal-soft,#E3F3F2);--gd:var(--gold,#C9A227);--gs:var(--gold-soft,#FBF4DF);--ink:var(--ink,#1B2433);--i2:var(--ink-2,#4A5568);--i3:var(--ink-3,#7A8699);--ln:var(--line,#E6E9EF);--rd:var(--red,#C2412D);--rs:var(--red-soft,#FCEDEA);--gr:var(--green,#2E8B57);--grs:var(--green-soft,#E7F5EC);
  font-family:var(--sans,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif);color:var(--ink);font-size:14px;line-height:1.45;min-width:0}
.ssx *{box-sizing:border-box}
.ssx button,.ssx input,.ssx select{font:inherit;color:inherit}
.ssx :focus-visible{outline:3px solid rgba(15,139,141,.45);outline-offset:2px}
.ssx-ic{flex:none;vertical-align:-2px}
/* head */
.ssx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.ssx-eyebrow{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--t2);font-weight:700}
.ssx-head h2{font-family:var(--serif,Georgia,serif);font-weight:600;font-size:28px;margin:2px 0 2px;color:var(--n);letter-spacing:-.2px}
.ssx-head p{margin:0;color:var(--i3);font-size:13px}
.ssx-tabs{display:flex;gap:4px;background:#fff;border:1px solid var(--ln);padding:4px;border-radius:12px;box-shadow:0 1px 2px rgba(14,34,64,.05)}
.ssx-tabs button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:7px 12px;border-radius:9px;cursor:pointer;font-weight:600;font-size:13px;color:var(--i2);white-space:nowrap}
.ssx-tabs button.on{background:var(--n);color:#fff}
.ssx-tabs button:not(.on):hover{background:#f2f5f9}
/* bars */
.ssx-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ssx-grow{flex:1}
.ssx-seg{display:inline-flex;background:#fff;border:1px solid var(--ln);border-radius:10px;padding:3px;gap:2px}
.ssx-seg button{border:0;background:transparent;padding:6px 11px;border-radius:7px;cursor:pointer;font-weight:600;font-size:12.5px;color:var(--i2);white-space:nowrap}
.ssx-seg button small{font-weight:500;opacity:.7;margin-left:2px}
.ssx-seg button.on{background:var(--ts);color:var(--t2);box-shadow:inset 0 0 0 1px rgba(15,139,141,.25)}
.ssx-seg.sm button{font-size:12px;padding:5px 9px}
.ssx-find{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--ln);border-radius:10px;padding:0 10px;color:var(--i3);height:36px}
.ssx-find input{border:0;outline:0;background:transparent;width:150px;height:34px;color:var(--ink)}
.ssx-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ln);background:#fff;color:var(--ink);padding:8px 13px;border-radius:10px;cursor:pointer;font-weight:600;font-size:13px;white-space:nowrap;text-decoration:none;line-height:1.2}
.ssx-btn:hover{border-color:#cdd3dd;background:#fafbfc}
.ssx-btn:active{transform:translateY(1px)}
.ssx-btn[disabled]{opacity:.45;cursor:not-allowed}
.ssx-btn.gold{background:var(--gd);border-color:var(--gd);color:#1d1600}
.ssx-btn.gold:hover{background:#b8921c}
.ssx-btn.navy{background:var(--n);border-color:var(--n);color:#fff}
.ssx-btn.primary{background:var(--t);border-color:var(--t);color:#fff}
.ssx-btn.primary:hover{background:var(--t2)}
.ssx-btn.ghost{background:transparent;border-color:transparent;color:var(--t2)}
.ssx-btn.on{background:var(--gs);border-color:var(--gd);color:#5c4500}
.ssx-btn.sm{padding:6px 10px;font-size:12.5px;border-radius:9px}
.ssx-btn.xs{padding:4px 8px;font-size:12px;border-radius:8px;gap:4px}
.ssx-btn.full{width:100%;margin-top:8px;padding:11px 14px}
.ssx-mode{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:linear-gradient(90deg,var(--gs),#fff);border:1px solid #efd98f;border-radius:12px;padding:8px 12px;margin-bottom:12px}
.ssx-mode-l{display:inline-flex;align-items:center;gap:6px;color:#7a5d00}
.ssx-mode-n{font-size:12.5px;color:var(--i2);flex:1;min-width:200px}
/* layout grid */
.ssx-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
.ssx-main,.ssx-side{min-width:0}
.ssx-side{display:flex;flex-direction:column;gap:12px}
.ssx-card{background:#fff;border:1px solid var(--ln);border-radius:var(--r,14px);box-shadow:var(--shadow,0 1px 2px rgba(14,34,64,.05),0 4px 16px rgba(14,34,64,.06));padding:14px}
.ssx-card-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.ssx-card-h b{display:inline-flex;align-items:center;gap:6px;color:var(--n);font-size:14px}
.ssx-small{font-size:12.5px;color:var(--i3)}
.ssx-small.c{text-align:center;margin-top:6px}
.ssx-small.warn{color:#8a5a00;background:var(--gs);border-radius:8px;padding:8px 10px}
.ssx-pill{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:#eef1f5;color:var(--i2);white-space:nowrap}
.ssx-pill.green{background:var(--grs);color:var(--gr)}
.ssx-pill.teal{background:var(--ts);color:var(--t2)}
.ssx-pill.red{background:var(--rs);color:var(--rd)}
.ssx-pill.gold{background:var(--gs);color:#7a5d00}
.ssx-chips{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 8px}
.ssx-chip{display:inline-flex;align-items:center;font-size:12px;padding:4px 9px;border-radius:999px;border:1px solid var(--ln);background:#f7f9fb;cursor:default}
button.ssx-chip{cursor:pointer}
.ssx-chip.on{background:var(--gs);border-color:var(--gd);color:#5c4500;font-weight:600}
.ssx-chip.sm{font-size:11px;padding:2px 8px}
.ssx-x{border:0;background:transparent;color:var(--i3);cursor:pointer;padding:4px;border-radius:6px;display:inline-flex}
.ssx-x:hover{background:#f0f2f6;color:var(--ink)}
.ssx-link{border:0;background:none;padding:0;color:var(--n);font-weight:700;cursor:pointer;text-align:left}
.ssx-link:hover{text-decoration:underline}
.ssx-kv{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:5px 0;border-top:1px dashed var(--ln)}
.ssx-kv span{color:var(--i3)}
.ssx-kv b{text-align:right;font-weight:600}
.ssx-note{font-style:italic;color:var(--i2);font-size:12.5px;background:#f7f9fb;border-radius:8px;padding:6px 9px;margin:6px 0}
.ssx-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ssx-selcard{border-color:var(--gd);box-shadow:0 0 0 3px rgba(201,162,39,.15)}
/* chart */
.ssx-chartcard{padding:12px}
.ssx-chartwrap{--s:22px;--gp:3px;overflow-x:auto;overflow-y:hidden;padding:2px;-webkit-overflow-scrolling:touch}
.ssx-room{border:2px solid #d6dce6;border-radius:18px;background:linear-gradient(180deg,#fbfcfe,#f4f6fa);padding:10px 12px 8px;min-width:min-content}
.ssx-wall{display:flex;justify-content:center;gap:10px;margin-bottom:10px}
.ssx-aron{background:linear-gradient(180deg,#D8B957,#B8921C);color:#1d1600;font-weight:700;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;padding:6px 34px;border-radius:12px 12px 4px 4px;box-shadow:0 2px 6px rgba(184,146,28,.3)}
.ssx-rail{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--i3);border-bottom:3px double #c3cbd8;padding:2px 30px 4px;width:80%;text-align:center}
.ssx-floor{display:flex;align-items:flex-start;justify-content:center;gap:12px}
.ssx-chartwrap.stack .ssx-floor{flex-direction:column;align-items:center}
.ssx-sec{background:#fff;border:1px solid var(--ln);border-radius:12px;padding:6px 8px 8px}
.ssx-sec.g-W{background:#fdfbff}
.ssx-sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:11.5px;margin-bottom:5px;padding:0 2px}
.ssx-sec-h b{color:var(--n);font-size:12px}
.ssx-sec-h span{color:var(--i3);white-space:nowrap}
.ssx-rows{display:flex;flex-direction:column;gap:var(--gp)}
.ssx-row{display:flex;align-items:center;gap:var(--gp)}
.ssx-rl{width:calc(var(--s)*.8);text-align:center;font-size:calc(var(--s)*.42);color:var(--i3);font-weight:600;flex:none}
.ssx-aisle{width:calc(var(--s)*.6);flex:none;align-self:stretch;background:repeating-linear-gradient(180deg,transparent 0 3px,#e3e8ef 3px 6px);background-size:2px 100%;background-repeat:no-repeat;background-position:center}
.ssx-bimah{margin:4px auto;width:40%;min-width:90px;text-align:center;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#5c4500;background:var(--gs);border:1.5px solid var(--gd);border-radius:10px;padding:5px 0}
.ssx-mech{align-self:stretch;width:14px;display:flex;align-items:center;justify-content:center;position:relative}
.ssx-mech::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:4px;transform:translateX(-50%);background:repeating-linear-gradient(180deg,var(--n3) 0 8px,transparent 8px 12px);border-radius:2px}
.ssx-mech span{position:relative;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--n3);background:#f6f8fb;padding:6px 0}
.ssx-chartwrap.stack .ssx-mech{width:80%;height:16px;align-self:center}
.ssx-chartwrap.stack .ssx-mech::before{top:50%;bottom:auto;left:0;right:0;width:auto;height:4px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,var(--n3) 0 8px,transparent 8px 12px)}
.ssx-chartwrap.stack .ssx-mech span{writing-mode:horizontal-tb;transform:none;padding:0 8px}
.ssx-back{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:11px;color:var(--i3);flex-wrap:wrap}
.ssx-back span{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--ln);border-radius:999px;padding:2px 8px}
.ssx-empty{padding:30px;color:var(--i3)}
/* seats */
.ssx-seat{position:relative;flex:none;width:var(--s);height:calc(var(--s)*.92);border-radius:calc(var(--s)*.28) calc(var(--s)*.28) calc(var(--s)*.12) calc(var(--s)*.12);border:1px solid #c9d1dc;background:#fff;padding:0;cursor:pointer;font-size:calc(var(--s)*.4);font-weight:700;color:var(--i3);display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:transform .12s,box-shadow .12s;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.ssx-seat i{font-style:normal;font-weight:500;opacity:.75;font-size:calc(var(--s)*.36)}
.ssx-seat:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(14,34,64,.18);z-index:2}
.ssx-seat.s-open{border-bottom:3px solid var(--tc,#5B7DB1)}
.ssx-seat.t-premier{--tc:#C9A227;--tf:#F7EBC4}.ssx-seat.t-center{--tc:#0F8B8D;--tf:#CFEDEC}.ssx-seat.t-standard{--tc:#5B7DB1;--tf:#DCE5F3}.ssx-seat.t-gallery{--tc:#8E6CC3;--tf:#E8E0F5}
.ssx-chartwrap[data-color=tier] .ssx-seat.s-open{background:var(--tf);border-color:var(--tc)}
.ssx-chartwrap[data-color=tier] .ssx-seat.s-asg,.ssx-chartwrap[data-color=tier] .ssx-seat.s-sold{background:var(--tc);border-color:var(--tc);color:#fff}
.ssx-seat.s-hold{background-image:repeating-linear-gradient(135deg,transparent 0 3px,rgba(14,34,64,.08) 3px 5px)}
.ssx-seat.s-asg{background:#d5efee;border-color:#7cc4c3;color:var(--t2)}
.ssx-seat.s-sold{background:var(--n3);border-color:var(--n3);color:#dce7fb}
.ssx-seat.s-child{border-radius:50% 50% 30% 30%}
.ssx-seat.s-res{background:linear-gradient(180deg,#F1D77A,#D2AE34);border-color:#b8921c;color:#4a3800}
.ssx-seat.s-blocked{background:repeating-linear-gradient(135deg,#eceff3 0 4px,#dfe3e9 4px 8px);border-color:#cfd5de;color:#9aa4b2;cursor:not-allowed}
.ssx-seat.s-taken{background:#e8ebf0;border-color:#dde1e7;color:#b6bec9;cursor:not-allowed;border-bottom-width:1px}
.ssx-seat.s-nopick{background:#eef0f4;border-color:#e0e4ea;color:#c0c7d1;border-bottom:1px solid #e0e4ea}
.ssx-seat.s-mine{background:var(--gd);border-color:#a8861a;color:#1d1600}
.ssx-seat.s-pick,.ssx-seat.s-cart{background:var(--t);border-color:var(--t2);color:#fff;box-shadow:0 0 0 2px rgba(15,139,141,.3)}
.ssx-seat.s-selfam{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gd);z-index:3}
.ssx-seat.s-found{box-shadow:0 0 0 2px #fff,0 0 0 4px #e0532f;z-index:3}
.ssx-seat.s-conf{box-shadow:0 0 0 2px var(--rd);z-index:2}
.ssx-seat.s-conf.s-selfam{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gd),0 0 0 6px var(--rd)}
.ssx-seat.s-focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--t);z-index:3}
.ssx-seat.s-new{animation:ssxPop .5s ease both}
.ssx-seat.s-dragging{opacity:.35}
.ssx-seat.s-drop{background:var(--gd)!important;border-color:#a8861a!important;transform:scale(1.15);z-index:4}
.ssx-seat.s-nodrop{box-shadow:0 0 0 2px var(--rd)}
@keyframes ssxPop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.15);opacity:1}100%{transform:scale(1)}}
.ssx-mk{position:absolute;top:-5px;right:-5px;display:flex;gap:1px;background:#fff;border-radius:999px;padding:1px;color:var(--t2);box-shadow:0 0 0 1px #cfe3e3;line-height:0}
.ssx-mk .ssx-ic{width:9px;height:9px}
.ssx-chartwrap.ed .ssx-seat{cursor:crosshair}
.ssx-chartwrap.tiny .ssx-seat.s-asg,.ssx-chartwrap.tiny .ssx-seat.s-sold,.ssx-chartwrap.tiny .ssx-seat i{font-size:0}
.ssx-seat{letter-spacing:-.3px}
.ssx-grip{flex:none;width:14px;color:var(--i3);cursor:ew-resize;display:inline-flex;touch-action:none;border-radius:4px}
.ssx-grip:hover{background:var(--gs);color:#7a5d00}
body.ssx-dragging{cursor:grabbing}
body.ssx-dragging .ssx-seat{cursor:grabbing}
.ssx-ghost{position:fixed;z-index:9999;pointer-events:none;background:var(--navy,#0E2240);color:#fff;font:600 12.5px/1.2 var(--sans,system-ui,sans-serif);padding:7px 10px;border-radius:9px;box-shadow:0 6px 20px rgba(14,34,64,.3);display:flex;gap:6px;align-items:center;white-space:nowrap}
.ssx-ghost small{opacity:.7;font-weight:500}
/* legend & hints */
.ssx-legend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:10px;font-size:12px;color:var(--i2)}
.ssx-lg{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.ssx-lg .ssx-seat.ssx-demo{--s:16px;cursor:default;pointer-events:none;font-size:7px}
.ssx-tiers{gap:10px;flex-wrap:wrap;white-space:normal}
.ssx-tiers span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.ssx-tiers i,.ssx-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}
.ssx-dot{margin-right:5px}
.ssx-hint{display:flex;align-items:flex-start;gap:6px;margin-top:10px;font-size:12px;color:var(--i2);background:#f6f8fb;border-radius:10px;padding:8px 10px}
.ssx-hint .ssx-ic{margin-top:2px;color:var(--t2)}
/* tooltip */
.ssx-tip{position:fixed;z-index:9998;pointer-events:none;background:#0E2240;color:#e9eef7;border-radius:10px;padding:8px 10px;font:12px/1.4 var(--sans,system-ui,sans-serif);max-width:260px;box-shadow:0 8px 24px rgba(14,34,64,.28);display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity .1s;left:-999px;top:-999px}
.ssx-tip.on{opacity:1}
.ssx-tip b{color:#fff}
.ssx-tip-s{color:#a9b8d0}
.ssx-tip-t{display:flex;flex-wrap:wrap;gap:6px;color:#9fe0df}
.ssx-tip-t .ssx-ic{vertical-align:-1px}
.ssx-tip-w{color:#ffe7a3}
.ssx-tip-w b{color:#fff}
.ssx-tip-h{color:#7f93b3;font-size:11px;margin-top:2px}
/* side panels */
.ssx-pri{margin:0 0 8px;padding-left:20px;font-size:12.5px;color:var(--i2)}
.ssx-pri li{margin:2px 0}
.ssx-pri b{color:var(--ink)}
.ssx-run{display:flex;gap:6px;align-items:center;background:var(--grs);color:#1f5e3b;border-radius:9px;padding:7px 9px;font-size:12.5px}
.ssx-conf{border-color:#f1c6bd}
.ssx-cf{border-top:1px solid var(--ln);padding:9px 0 4px}
.ssx-cf:first-of-type{border-top:0;padding-top:2px}
.ssx-cf-t{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ssx-cf-k{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:2px 7px;border-radius:6px;background:var(--rs);color:var(--rd)}
.ssx-cf-k.k-tier{background:#eef1fb;color:#3b55a0}
.ssx-cf-k.k-near{background:var(--ts);color:var(--t2)}
.ssx-cf-k.k-same{background:var(--gs);color:#7a5d00}
.ssx-cf-m{font-size:12.5px;color:var(--i2);margin-top:3px}
.ssx-cf .ssx-btns{margin-top:6px}
.ssx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}
.ssx-stats div{background:#f6f8fb;border-radius:10px;padding:7px 6px;text-align:center;display:flex;flex-direction:column}
.ssx-stats b{font-size:19px;color:var(--n);font-family:var(--serif,Georgia,serif)}
.ssx-stats span{font-size:10.5px;color:var(--i3);line-height:1.2}
.ssx-meter{display:flex;height:8px;border-radius:99px;background:#e8ecf2;overflow:hidden;margin-bottom:10px}
.ssx-meter .a{background:var(--n3)}.ssx-meter .b{background:#7cc4c3}
.ssx-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.ssx-tbl th{text-align:left;font-size:11px;font-weight:600;color:var(--i3);text-transform:uppercase;letter-spacing:.5px;padding:4px 4px;border-bottom:1px solid var(--ln)}
.ssx-tbl td{padding:5px 4px;border-bottom:1px solid #f0f2f6}
.ssx-tbl td small{color:var(--i3)}
.ssx-tbl tfoot td{font-weight:700;border-bottom:0;border-top:1.5px solid var(--ln)}
.ssx-tbl th:not(:first-child),.ssx-tbl td:not(:first-child){text-align:right}
.ssx-reqs summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}
.ssx-reqs summary::-webkit-details-marker{display:none}
.ssx-reqs summary b{color:var(--n)}
.ssx-reqlist{max-height:330px;overflow:auto;margin-top:8px;display:flex;flex-direction:column;gap:2px}
.ssx-rq{display:grid;grid-template-columns:1fr auto;gap:0 8px;text-align:left;border:0;background:transparent;border-radius:9px;padding:6px 7px;cursor:pointer}
.ssx-rq:hover,.ssx-rq.on{background:#f4f6fa}
.ssx-rq-n{font-weight:600;font-size:12.5px;display:flex;gap:5px;align-items:center}
.ssx-rq-s{grid-column:1;font-size:11.5px;color:var(--i3)}
.ssx-st{grid-row:1/3;grid-column:2;align-self:center;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:#eef1f5;color:var(--i2)}
.ssx-st.st-billed{background:var(--grs);color:var(--gr)}.ssx-st.st-assigned{background:var(--ts);color:var(--t2)}.ssx-st.st-review{background:var(--rs);color:var(--rd)}.ssx-st.st-waitlist{background:var(--gs);color:#7a5d00}
.ssx-new{font-size:9.5px;font-weight:800;text-transform:uppercase;background:var(--gd);color:#1d1600;border-radius:5px;padding:1px 5px}
/* editor */
.ssx-tools{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.ssx-tool{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--ln);background:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;color:var(--i2)}
.ssx-tool.on{background:var(--n);border-color:var(--n);color:#fff}
.ssx-sel,.ssx-in{border:1px solid var(--ln);border-radius:8px;padding:6px 8px;background:#fff;font-size:13px;min-width:0;max-width:100%}
.ssx-sel.xs{padding:3px 6px;font-size:12px}
.ssx-in.b{font-weight:700;color:var(--n);border-color:transparent;padding:4px 6px;flex:1}
.ssx-in.b:hover,.ssx-in.b:focus{border-color:var(--ln)}
.ssx-form2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.ssx-form2 label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--i3);font-weight:600}
.ssx-chk{display:flex;align-items:center;gap:7px;font-size:12.5px;margin:6px 0;color:var(--i2)}
.ssx-chk input{width:16px;height:16px;accent-color:var(--t)}
.ssx-step{display:inline-flex;align-items:center;gap:6px}
.ssx-step button{width:26px;height:26px;border-radius:8px;border:1px solid var(--ln);background:#fff;cursor:pointer;font-weight:700;line-height:1}
.ssx-step button:hover{background:#f2f5f9}
.ssx-step b{min-width:18px;text-align:center}
.ssx-rowtbl td{vertical-align:middle}
/* member */
.ssx-member{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:22px;align-items:start;justify-content:center}
.ssx-phone{background:#f4f6f9;border:10px solid #111827;border-radius:38px;padding:14px 12px 18px;box-shadow:0 18px 50px rgba(14,34,64,.25);display:flex;flex-direction:column;gap:10px;min-width:0}
.ssx-p-top{background:var(--n);color:#fff;border-radius:16px;padding:12px 14px;display:flex;flex-direction:column}
.ssx-p-top .ssx-eyebrow{color:#e9d9a6}
.ssx-p-top b{font-size:17px;font-family:var(--serif,Georgia,serif);font-weight:600}
.ssx-p-top span{font-size:12px;color:#a9b8d0}
.ssx-pc{background:#fff;border:1px solid var(--ln);border-radius:16px;padding:12px;min-width:0}
.ssx-pc-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.ssx-pc-h b,.ssx-pc summary b{display:inline-flex;align-items:center;gap:6px;color:var(--n)}
.ssx-pc summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}
.ssx-pc summary::-webkit-details-marker{display:none}
.ssx-pc.renew{background:linear-gradient(180deg,#fffaf0,#fff);border-color:#efd98f}
.ssx-pc.ok{text-align:center;border-color:#a9dcbf;background:linear-gradient(180deg,var(--grs),#fff);display:flex;flex-direction:column;align-items:center;gap:6px}
.ssx-big{width:46px;height:46px;border-radius:50%;background:var(--gr);color:#fff;display:grid;place-items:center}
.ssx-ledgerline{display:flex;gap:6px;align-items:flex-start;font-size:12px;background:#fff;border:1px dashed #a9dcbf;border-radius:9px;padding:6px 9px;color:#1f5e3b;text-align:left}
.ssx-track{list-style:none;padding:0;margin:4px 0 8px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.ssx-track li{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10.5px;color:var(--i3);text-align:center;position:relative}
.ssx-track li i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:11px;background:#eef1f5;color:var(--i3)}
.ssx-track li.done i{background:var(--gr);color:#fff}
.ssx-track li.now i{background:var(--gd);color:#1d1600;box-shadow:0 0 0 3px rgba(201,162,39,.25)}
.ssx-track li.now{color:var(--ink);font-weight:600}
.ssx-cnts{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.ssx-cnt{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;font-weight:600}
.ssx-fl{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--i3);font-weight:600;margin:7px 0}
.ssx-fl .ssx-sel,.ssx-fl .ssx-in{font-size:14px;padding:9px 10px;color:var(--ink);font-weight:500}
.ssx-sum{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:8px;border-top:1px solid var(--ln);font-size:13px;color:var(--i2)}
.ssx-sum b{font-size:18px;color:var(--n);font-family:var(--serif,Georgia,serif)}
.ssx-chartwrap.mem{margin:8px -4px 0}
.ssx-chartwrap.mem .ssx-room{padding:8px 6px 6px;border-radius:14px}
.ssx-chartwrap.mem .ssx-back{display:none}
.ssx-pc .ssx-seg{margin-top:8px}
.ssx-pc .ssx-legend{font-size:11px;gap:5px 10px}
.ssx-picks{margin-top:10px;border-top:1px solid var(--ln);padding-top:8px}
.ssx-pk{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 0}
.ssx-pk>span:first-child{flex:1;min-width:0}
.ssx-pk small{display:block;color:var(--i3);font-size:11px}
.ssx-maside{position:sticky;top:80px}
.ssx-maside h3{font-family:var(--serif,Georgia,serif);font-weight:600;color:var(--n);margin:4px 0 10px;font-size:20px}
.ssx-viewas{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--i3);font-weight:600;margin-bottom:10px}
.ssx-ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--i2)}
.ssx-ul li{display:flex;gap:8px;align-items:flex-start}
.ssx-ul .ssx-ic{color:var(--t2);margin-top:2px}
/* toasts (standalone only) */
.ssx-toasts{position:fixed;right:16px;bottom:16px;z-index:9999;display:flex;flex-direction:column;gap:8px}
.ssx-toast{background:#0E2240;color:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 8px 24px rgba(14,34,64,.3);display:flex;flex-direction:column;font:13px/1.35 system-ui,sans-serif;max-width:320px}
.ssx-toast span{color:#a9b8d0;font-size:12px}
/* print overlay */
.ssx-print{position:fixed;inset:0;z-index:9990;background:rgba(14,34,64,.45);overflow:auto;padding:20px}
.ssx-print-bar{position:sticky;top:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border-radius:12px;padding:10px 14px;max-width:1100px;margin:0 auto 12px;box-shadow:0 6px 20px rgba(14,34,64,.2)}
.ssx-print-body{background:#fff;max-width:1100px;margin:0 auto;border-radius:12px;padding:22px}
.ssx-print-body h3{font-family:var(--serif,Georgia,serif);color:var(--n);margin:0 0 14px}
.ssx-print-body h4{margin:16px 0 8px;color:var(--n)}
.ssx-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.ssx-scard{border:1.5px solid var(--n);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;break-inside:avoid;background:linear-gradient(180deg,#fff,#fbfaf5)}
.ssx-sc-top{display:flex;justify-content:space-between;font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;overflow:hidden;color:var(--t2);font-weight:700;gap:6px}
.ssx-sc-name{font-family:var(--serif,Georgia,serif);font-size:19px;color:var(--n);font-weight:600}
.ssx-sc-seat{display:flex;flex-direction:column;border-top:1px dashed #cdd5e1;padding-top:6px}
.ssx-sc-seat b{font-size:13px}
.ssx-sc-seat span{font-size:16px;font-weight:700;color:#5c4500}
.ssx-sc-foot{display:flex;justify-content:space-between;font-size:11px;color:var(--i3);gap:6px}
.ssx-ptbl td,.ssx-ptbl th{font-size:12.5px}
.ssx-ptbl td:nth-child(2){text-align:left}
.ssx-chartwrap.print{overflow:visible;margin-bottom:6px}
@media print{
  body.ssx-printing>*:not(.ssx-print){display:none!important}
  body.ssx-printing .ssx-print{position:static;background:#fff;padding:0;overflow:visible}
  body.ssx-printing .ssx-print-bar{display:none}
  body.ssx-printing .ssx-print-body{padding:0;max-width:none}
  .ssx-scard{page-break-inside:avoid}
}
/* responsive */
@media (max-width:1240px){ .ssx-grid{grid-template-columns:minmax(0,1fr) 300px} }
@media (max-width:1100px){ .ssx-grid{grid-template-columns:minmax(0,1fr)} .ssx-side{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start} }
@media (max-width:860px){ .ssx-member{grid-template-columns:minmax(0,1fr)} .ssx-maside{position:static;order:-1} .ssx-phone{max-width:460px;width:100%;margin:0 auto} }
@media (max-width:560px){
  .ssx-head h2{font-size:23px}
  .ssx-tabs{width:100%}
  .ssx-tabs button{flex:1;justify-content:center;padding:7px 6px;font-size:12px}
  .ssx-tabs button .ssx-ic{display:none}
  .ssx-bar>.ssx-btn{flex:1 1 100%}
  .ssx-find{flex:1;min-width:0}.ssx-find input{width:100%}
  .ssx-side{display:flex}
  .ssx-chartcard{padding:8px}
  .ssx-room{padding:8px 6px 6px}
  .ssx-sec{padding:5px 4px 6px}
  .ssx-rl.r2{display:none}
  .ssx-mode-n{min-width:0;flex:1 1 100%}
  .ssx-phone{border:0;border-radius:0;padding:0;box-shadow:none;background:transparent}
  .ssx-maside .ssx-ul{display:none}
  .ssx-maside .ssx-card{padding:10px 12px}
  .ssx-maside .ssx-eyebrow,.ssx-maside h3{display:none}
  .ssx-viewas{margin:0}
  .ssx-viewas .ssx-sel{flex:1}
  .ssx-maside .ssx-card h3{font-size:17px;margin-bottom:6px}
  .ssx-form2{grid-template-columns:1fr}
  .ssx-stats b{font-size:17px}
  .ssx-print{padding:8px}
}
