/* 1.99.546 – isolated, mobile-first, accessible customer support portal. */
.fw-ws-portal{--fwp-ink:#263d52;--fwp-muted:#63788a;--fwp-line:#e1eaf1;--fwp-brand:#116d78;--fwp-paper:#fff;max-width:1080px;margin:24px auto;padding:24px;background:var(--fwp-paper);color:var(--fwp-ink);border:1px solid var(--fwp-line);border-radius:17px;box-shadow:0 12px 38px rgba(30,60,90,.06);font:inherit}
.fw-ws-portal *, .fw-ws-portal *::before,.fw-ws-portal *::after{box-sizing:border-box}
.fw-ws-portal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:2px 0 18px}
.fw-ws-portal-head h2{margin:3px 0 6px;font-size:clamp(23px,3vw,34px);line-height:1.19;color:var(--fwp-ink);font-weight:750}
.fw-ws-portal-head small{font-size:12px;color:var(--fwp-brand);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.fw-ws-portal-head p{margin:0;color:var(--fwp-muted);max-width:620px;line-height:1.55}
.fw-ws-portal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:5px 0 21px}
.fw-ws-portal-stats>span{border:1px solid var(--fwp-line);padding:13px 16px;border-radius:11px;background:#f8fbfd;color:var(--fwp-muted);font-size:13px}
.fw-ws-portal-stats strong{display:block;color:var(--fwp-ink);font-size:28px;line-height:1.2;font-weight:800}
.fw-ws-portal-filters{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 16px}
.fw-ws-portal-filters a{display:inline-flex;padding:8px 14px;border:1px solid var(--fwp-line);border-radius:100px;color:var(--fwp-ink);background:#fff;text-decoration:none;font-size:13px;font-weight:600;transition:background .15s}
.fw-ws-portal-filters a:hover,.fw-ws-portal-filters a:focus{background:#e8f4f5}
.fw-ws-portal-filters a.is-active{color:#fff;background:var(--fwp-brand);border-color:var(--fwp-brand)}
.fw-ws-portal-list{border:1px solid var(--fwp-line);border-radius:13px;overflow:hidden}
.fw-ws-portal-ticket{display:flex;align-items:center;gap:15px;padding:17px 18px;color:var(--fwp-ink);text-decoration:none;background:#fff;border-bottom:1px solid var(--fwp-line)}
.fw-ws-portal-ticket:last-child{border-bottom:0}
.fw-ws-portal-ticket:hover,.fw-ws-portal-ticket:focus{background:#f5fafb;color:var(--fwp-ink)}
.fw-ws-portal-ticket-icon{flex:0 0 auto;min-width:51px;padding:9px 7px;border-radius:10px;background:#e8f4f5;color:var(--fwp-brand);font-weight:750;text-align:center;font-size:13px}
.fw-ws-portal-ticket-main{min-width:0;flex:1;overflow-wrap:anywhere}
.fw-ws-portal-ticket-main strong{display:block;font-size:15px;font-weight:700}
.fw-ws-portal-ticket-main small{display:block;color:var(--fwp-muted);font-size:12px;margin-top:3px}
.fw-ws-portal-arrow{font-size:24px;color:#7b9da9;line-height:1}
.fw-ws-portal-status{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border-radius:100px;padding:7px 12px;color:#355770;background:#eaf1f6;font-weight:650;font-size:12px;white-space:nowrap}
.fw-ws-portal-status.is-open{background:#e5f2fb;color:#255a83}
.fw-ws-portal-status.is-waiting{background:#fff3df;color:#875d1d}
.fw-ws-portal-status.is-resolved{background:#e1f6eb;color:#287344}
.fw-ws-portal-status.is-closed{background:#eef0f3;color:#5d6974}
.fw-ws-portal-pages{display:flex;justify-content:center;align-items:center;gap:15px;padding:17px 0 0;font-size:13px;color:var(--fwp-muted)}
.fw-ws-portal-pages a,.fw-ws-portal-back a{color:var(--fwp-brand);font-weight:650;text-decoration:none}
.fw-ws-portal-empty{padding:20px;color:var(--fwp-muted);text-align:center}
.fw-ws-portal-back{padding-bottom:14px}
.fw-ws-portal-dates{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--fwp-line);padding-bottom:16px}
.fw-ws-portal-dates span{color:var(--fwp-muted);font-size:12px}
.fw-ws-portal-dates strong{color:var(--fwp-ink);margin-left:6px}
.fw-ws-portal-description{padding:18px 0 4px}
.fw-ws-portal-description h3,.fw-ws-portal-messages h3,.fw-ws-portal-reply h3{margin:0 0 11px;color:var(--fwp-ink);font-size:17px}
.fw-ws-portal-description p{margin:0;background:#f8fafc;padding:16px;border:1px solid var(--fwp-line);border-radius:11px;line-height:1.6;overflow-wrap:anywhere}
.fw-ws-portal-messages{padding:21px 0}
.fw-ws-portal-message{padding:16px 18px;margin:10px 0;border:1px solid var(--fwp-line);background:#fff;border-radius:12px;max-width:88%}
.fw-ws-portal-message.is-customer{margin-left:auto;background:#eff8f8;border-color:#cce4e7}
.fw-ws-portal-message header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 9px}
.fw-ws-portal-message strong{color:var(--fwp-brand);font-size:13px}
.fw-ws-portal-message time{color:var(--fwp-muted);font-size:11px}
.fw-ws-portal-message p{margin:0;white-space:normal;line-height:1.6;overflow-wrap:anywhere}
.fw-ws-portal-file{display:inline-flex;gap:6px;align-items:center;padding:8px 11px;margin-top:10px;background:#fff;border-radius:8px;border:1px solid #d6e6e8;color:var(--fwp-brand);font-weight:600;font-size:12px;text-decoration:none;overflow-wrap:anywhere}
.fw-ws-portal-form{display:grid;gap:17px;padding:21px;border:1px solid var(--fwp-line);border-radius:12px;background:#f9fbfd}
.fw-ws-portal-form label{display:grid;gap:6px;font-weight:650;font-size:13px;color:var(--fwp-ink)}
.fw-ws-portal-form input:not([type="hidden"]),.fw-ws-portal-form textarea{width:100%;border:1px solid #c6d6e2;background:#fff;border-radius:9px;color:var(--fwp-ink);font:inherit;padding:11px 12px;max-width:100%}
.fw-ws-portal-form textarea{min-height:130px;resize:vertical}
.fw-ws-portal-form input:focus,.fw-ws-portal-form textarea:focus{outline:2px solid #73b9c2;outline-offset:1px}
.fw-ws-portal-form small,.fw-ws-portal-fineprint{font-size:12px;color:var(--fwp-muted);margin:0}
.fw-ws-portal-button{justify-self:start;border:1px solid var(--fwp-brand);background:var(--fwp-brand);color:#fff;border-radius:9px;font-weight:700;padding:12px 20px;cursor:pointer}
.fw-ws-portal-button:hover{background:#0c535b}
.fw-ws-portal .fw-support-message{padding:12px 15px;border-radius:9px;border:1px solid #b6ded1;background:#eaf8f0;color:#236345;margin:12px 0}
.fw-ws-portal .fw-support-message.fw-support-error{background:#fff1f0;color:#8b2a2a;border-color:#efc2c2}
@media(max-width:720px){.fw-ws-portal{margin:10px auto;padding:15px;border-radius:12px}.fw-ws-portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fw-ws-portal-ticket{padding:13px 11px;gap:10px;flex-wrap:wrap}.fw-ws-portal-ticket .fw-ws-portal-status{margin-left:auto}.fw-ws-portal-ticket-icon{min-width:44px}.fw-ws-portal-arrow{display:none}.fw-ws-portal-message{max-width:100%}.fw-ws-portal-form{padding:14px}.fw-ws-portal-head{gap:9px}}

/* Keep the spam honeypot offscreen without creating a huge horizontal scroll area. */
.fw-ws-portal-form{position:relative}
.fw-ws-portal-honeypot{position:absolute!important;top:0;left:0;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;pointer-events:none}
