.aie-wtb-portal{--aie-navy:#080834;--aie-red:#d60000;--aie-ink:#171821;--aie-muted:#676b74;max-width:1180px;margin:0 auto;padding:34px 18px 70px;color:var(--aie-ink)}
.aie-wtb-portal *{box-sizing:border-box}.aie-wtb-portal-hero{position:relative;overflow:hidden;padding:42px 46px;border-radius:24px;background:linear-gradient(135deg,#080834 0%,#141448 64%,#26265d 100%);color:#fff;box-shadow:0 18px 45px rgba(8,8,52,.16)}
.aie-wtb-portal-hero:after{content:"";position:absolute;right:-70px;top:-95px;width:260px;height:260px;border-radius:50%;border:52px solid rgba(255,255,255,.04)}.aie-wtb-portal-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#ffb6b6}.aie-wtb-portal-hero h1{margin:7px 0 10px;font-size:clamp(34px,5vw,58px);line-height:1.04;color:#fff}.aie-wtb-portal-hero p{max-width:780px;margin:0;color:rgba(255,255,255,.82);font-size:17px;line-height:1.6}.aie-wtb-portal-welcome,.aie-wtb-portal-login{display:inline-flex;margin-top:20px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff!important;font-size:12px;font-weight:800;text-decoration:none!important}.aie-wtb-portal-login:hover{background:rgba(255,255,255,.17)}
.aie-wtb-portal-notice{margin:18px 0 0;padding:14px 17px;border:1px solid #b9e2c7;border-radius:12px;background:#effaf3;color:#20653a;font-weight:700}.aie-wtb-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}.aie-wtb-tool-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid #e1e3e8;border-radius:20px;background:#fff;box-shadow:0 7px 26px rgba(20,23,40,.06)}.aie-wtb-tool-card.is-enabled{border-color:#d2d3dd}.aie-wtb-tool-top{display:flex;gap:15px;align-items:flex-start}.aie-wtb-tool-icon{display:flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;height:56px;border-radius:15px;background:#f2f2f8;color:var(--aie-navy)}.aie-wtb-tool-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8}.aie-wtb-tool-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:1;min-width:0}.aie-wtb-tool-title h2{margin:5px 0 0;color:#171821;font-size:22px;line-height:1.2}.aie-wtb-tool-status{display:inline-flex;flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#eee;color:#555;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.aie-wtb-tool-status.status-active{background:#e8f8ee;color:#1d6c3c}.aie-wtb-tool-status.status-trial{background:#fff5d9;color:#795900}.aie-wtb-tool-status.status-suspended,.aie-wtb-tool-status.status-expired,.aie-wtb-tool-status.status-cancelled{background:#fff0f0;color:#9b2525}.aie-wtb-tool-desc{margin:17px 0 0;color:var(--aie-muted);line-height:1.58}.aie-wtb-tool-desc.marketing{font-size:15px}.aie-wtb-tool-features{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}.aie-wtb-tool-features li{position:relative;padding-left:26px;color:#3d4149;font-size:14px}.aie-wtb-tool-features li:before{content:"✓";position:absolute;left:0;top:-1px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#eef8f1;color:#217241;font-size:11px;font-weight:900}.aie-wtb-tool-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.aie-wtb-tool-stats span{display:flex;min-height:74px;flex-direction:column;align-items:center;justify-content:center;padding:10px;border:1px solid #ececf0;border-radius:13px;background:#fafafd;text-align:center}.aie-wtb-tool-stats strong{font-size:26px;line-height:1;color:var(--aie-navy)}.aie-wtb-tool-stats small{margin-top:6px;color:#747780;font-size:11px}.aie-wtb-tool-subline{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:17px;padding-top:14px;border-top:1px solid #eee;color:#6b6e75;font-size:12px}.aie-wtb-tool-subline span{display:flex;gap:5px}.aie-wtb-tool-subline b{color:#353840}.aie-wtb-tool-state-note{margin-top:16px;padding:11px 13px;border-radius:10px;background:#f7f7f9;color:#666a72;font-size:12px}.aie-wtb-tool-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:22px}.aie-wtb-tool-actions form{margin:0}.aie-wtb-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:43px;padding:10px 16px!important;border-radius:9px!important;font-size:13px!important;font-weight:800!important;line-height:1.2!important;text-decoration:none!important;cursor:pointer}.aie-wtb-btn.primary{border:1px solid var(--aie-navy)!important;background:var(--aie-navy)!important;color:#fff!important}.aie-wtb-btn.primary:hover{background:#171750!important}.aie-wtb-btn.secondary{border:1px solid #d8dae0!important;background:#fff!important;color:#272a31!important}.aie-wtb-login-hint{display:block;margin-top:10px;color:#858892}.aie-wtb-portal-empty{margin-top:24px;padding:24px;border:1px dashed #d7d9df;border-radius:14px;text-align:center;color:#71747c}
@media(max-width:840px){.aie-wtb-portal-grid{grid-template-columns:1fr}.aie-wtb-portal-hero{padding:34px 28px}.aie-wtb-tool-title{flex-direction:column}.aie-wtb-tool-status{align-self:flex-start}}
@media(max-width:520px){.aie-wtb-portal{padding-left:12px;padding-right:12px}.aie-wtb-portal-hero{padding:28px 20px;border-radius:18px}.aie-wtb-tool-card{padding:19px;border-radius:16px}.aie-wtb-tool-top{gap:11px}.aie-wtb-tool-icon{flex-basis:48px;width:48px;height:48px}.aie-wtb-tool-icon svg{width:27px;height:27px}.aie-wtb-tool-title h2{font-size:19px}.aie-wtb-tool-actions,.aie-wtb-tool-actions form,.aie-wtb-btn{width:100%}.aie-wtb-tool-stats{grid-template-columns:1fr 1fr}}

/* Custom catalogue cards 0.2.1 */
.aie-wtb-tool-card{padding:0;overflow:hidden}
.aie-wtb-tool-card-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:24px}
.aie-wtb-tool-cover{overflow:hidden;width:100%;aspect-ratio:16/7;background:#f0f1f4;border-bottom:1px solid #ececf0}
.aie-wtb-tool-cover img{display:block;width:100%;height:100%;object-fit:cover}
.aie-wtb-richtext{margin-top:17px}
.aie-wtb-richtext p{margin:0 0 10px;color:inherit;line-height:1.58}
.aie-wtb-richtext p:last-child{margin-bottom:0}
.aie-wtb-richtext strong{color:#2d3037}
.aie-wtb-richtext a{color:var(--aie-navy);font-weight:700}
.aie-wtb-richtext ul,.aie-wtb-richtext ol{margin:10px 0 0 20px;padding:0}
@media(max-width:520px){.aie-wtb-tool-card-body{padding:19px}.aie-wtb-tool-cover{aspect-ratio:16/8}}
