/* Wire & Sun UI. Self-contained: works on its own (app) and inside the JES site page. */
#wsApp{--ws-navy:#0F1B2D;--ws-navy2:#16263C;--ws-sky:#9DBCEB;--ws-line:#DDE3EA;--ws-ink:#14181F;--ws-mute:#5B6572;--ws-bg:#fff;font-family:Inter,ui-sans-serif,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ws-ink);font-size:16px;line-height:1.5}
#wsApp *{box-sizing:border-box}
.ws-tabs{display:flex;gap:8px;margin:0 0 20px}.ws-tabs button{flex:1;font:600 1rem inherit;font-family:inherit;padding:13px 16px;border:1px solid var(--ws-line);border-radius:8px;background:#fff;color:var(--ws-ink);cursor:pointer}
.ws-tabs button[aria-selected="true"]{background:var(--ws-navy);color:#fff;border-color:var(--ws-navy)}
.ws-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:20px;align-items:start}
.ws-form{border:1px solid var(--ws-line);border-radius:10px;padding:22px;background:#fff}.ws-form h3{margin:0 0 14px;font-size:1.1rem;font-weight:600}
.ws-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ws-f{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.ws-f label{font:600 .72rem/1.2 inherit;font-family:inherit;letter-spacing:.07em;text-transform:uppercase;color:var(--ws-mute)}
.ws-f input,.ws-f select{font:500 1rem inherit;font-family:inherit;padding:11px 12px;border:1px solid #C5CDD6;border-radius:8px;background:#fff;color:var(--ws-ink);width:100%;min-width:0}
.ws-f input:focus,.ws-f select:focus,.ws-tabs button:focus-visible,.ws-seg button:focus-visible{outline:2px solid var(--ws-navy);outline-offset:1px}
.ws-inline{display:grid;grid-template-columns:1fr 78px;gap:8px}.ws-hint{color:var(--ws-mute);font-size:.82rem}
.ws-seg{display:flex;border:1px solid #C5CDD6;border-radius:8px;overflow:hidden}.ws-seg button{flex:1;font:500 .95rem inherit;font-family:inherit;padding:10px;border:0;border-left:1px solid #C5CDD6;background:#fff;cursor:pointer}.ws-seg button:first-child{border-left:0}.ws-seg button[aria-pressed="true"]{background:var(--ws-navy);color:#fff}
.ws-check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--ws-ink);margin:2px 0 8px}.ws-check input{margin-top:4px}
.ws-res{background:var(--ws-navy);color:#fff;border-radius:10px;padding:24px;position:sticky;top:90px;min-height:200px}
.ws-kick{font:600 .72rem inherit;font-family:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--ws-sky);margin:0 0 6px}
.ws-big{font:300 3.2rem/1.05 inherit;font-family:inherit;letter-spacing:-.03em}.ws-big small{font-size:1rem;font-weight:500;color:var(--ws-sky);letter-spacing:0;margin-left:6px}
.ws-dl{display:grid;grid-template-columns:auto 1fr;gap:9px 18px;margin:18px 0;font-size:.92rem}.ws-dl dt{color:#C8D5EA}.ws-dl dd{margin:0;text-align:right;font-weight:600}
.ws-muted{color:#C8D5EA;font-size:.9rem;margin:8px 0}
.ws-flag{border-left:3px solid #D98A5A;background:rgba(217,138,90,.15);padding:10px 12px;margin:10px 0;font-size:.88rem;border-radius:0 6px 6px 0}
.ws-flag[id]{background:#FBF1EA;color:var(--ws-ink);border-radius:6px;margin:0 0 6px}
.ws-shop{margin-top:18px;padding-top:16px;border-top:1px solid #2A4266;display:grid;gap:8px;font-size:.9rem}.ws-shop span{color:#C8D5EA}
.ws-btn{display:inline-flex;justify-content:center;background:#fff;color:var(--ws-navy);font-weight:600;text-decoration:none;padding:11px 16px;border-radius:8px;margin-top:6px}.ws-btn:hover{background:var(--ws-sky)}
.ws-more{margin-top:14px;font-size:.88rem}.ws-more summary{cursor:pointer;color:var(--ws-sky);font-weight:600}
.ws-t{width:100%;border-collapse:collapse;margin-top:10px;font-size:.86rem}.ws-t th{text-align:left;color:#C8D5EA;font-weight:600;padding:5px 4px;border-bottom:1px solid #2A4266}.ws-t td{padding:5px 4px;border-bottom:1px solid #1E3453}.ws-t tr.on td{background:#1E3453;font-weight:700}.ws-t .bad{color:#F0A57F}
.ws-ul{margin:8px 0 0;padding-left:18px;color:#C8D5EA}
.ws-fine{font-size:.8rem;color:var(--ws-mute);margin:20px 0 0}
@media(max-width:820px){.ws-grid{grid-template-columns:1fr}.ws-res{position:static}.ws-big{font-size:2.6rem}}
@media(max-width:420px){.ws-row{grid-template-columns:1fr}}
