*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#050608;color:#e8eaed;-webkit-font-smoothing:antialiased;line-height:1.5}button{font:inherit;cursor:pointer}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.92em}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #03DAC6;outline-offset:2px;border-radius:.25rem}.portal{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;--portal-max-width: 36rem}.portal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,4vw,2rem);border-bottom:1px solid rgba(255,255,255,.06);background:#0b0b0dd9;backdrop-filter:blur(8px)}.portal__brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;font-weight:600}.portal__mark{color:#03dac6;font-size:1.4rem}.portal__crumb{color:#e8eaeda6;font-size:.95rem}.portal__main{width:100%;max-width:var(--portal-max-width);margin:0 auto;padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,2rem);display:flex;flex-direction:column;gap:1.5rem}.portal__tabs{display:inline-flex;align-self:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;padding:3px;gap:3px}.portal__tab{padding:.45rem 1rem;border:none;background:transparent;color:#e8eaedb8;font-size:.92rem;font-weight:500;border-radius:.35rem;cursor:pointer;transition:background .1s ease,color .1s ease}.portal__tab:hover{color:#fff;background:#ffffff0d}.portal__tab--active,.portal__tab--active:hover{background:#1976d2;color:#fff}.signup__link{color:#03dac6;text-decoration:none;border-bottom:1px solid rgba(3,218,198,.4);word-break:break-all}.signup__link:hover{border-bottom-color:#03dac6}.signup__next{margin:1.25rem 0 0;padding:1rem 1.1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:.6rem}.signup__next-title{margin:0 0 .5rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#e8eaed9e}.signup__next-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.55rem;color:#e8eaedeb;font-size:.95rem;line-height:1.5}.signup__next-list strong{color:#fff}.editor__group{margin:0;padding:.85rem 1rem 1rem;border:1px solid rgba(255,255,255,.08);border-radius:.6rem;background:#ffffff05;display:flex;flex-direction:column;gap:.6rem}.editor__group+.editor__group{margin-top:.8rem}.editor__group-legend{padding:0 .4rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#e8eaed9e}.editor__row-pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.editor__tile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.editor__tile{padding:.55rem .65rem;border:1px solid rgba(255,255,255,.07);border-radius:.4rem;background:#ffffff08;display:flex;flex-direction:column;gap:.4rem}.editor__tile-row{display:grid;grid-template-columns:5.5rem 1fr auto;gap:.5rem;align-items:center}.editor__tile-type{padding:.4rem .5rem}.editor__tile-label,.editor__tile-target{padding:.4rem .6rem}.editor__tile-remove{width:2rem;height:2rem;border-radius:.3rem;background:#ff8a8014;border:1px solid rgba(255,138,128,.25);color:#ff8a80;font-size:1rem;line-height:1;cursor:pointer}.editor__tile-remove:hover{background:#ff8a802e}.editor__add-tile{align-self:flex-start}.fleets{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.7rem;padding:1rem 1.1rem}.fleets-empty{text-align:center}.fleets__list{list-style:none;margin:0 0 .85rem;padding:0;display:flex;flex-direction:column;gap:.55rem}.fleets__row{display:flex;align-items:center;gap:.85rem;padding:.7rem .85rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:.5rem}.fleets__row-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.15rem}.fleets__row-name{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600;color:#fff}.fleets__row-link{color:#03dac6d9;text-decoration:none;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleets__row-link:hover{color:#03dac6}.fleets__row-actions{display:inline-flex;gap:.4rem;flex-shrink:0}.fleets__btn{padding:.45rem .85rem;font-size:.85rem;font-weight:500}@media (max-width: 600px){.fleets__row{flex-direction:column;align-items:flex-start;gap:.55rem}.fleets__row-actions{flex-wrap:wrap}}.portal__hero{text-align:center}.portal__title{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.02em;color:#fff}.portal__sub{margin:0;color:#e8eaedb3}.portal__footer{display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,4vw,2rem);border-top:1px solid rgba(255,255,255,.06);font-size:.8rem;color:#e8eaed80}.portal__footer code{background:#ffffff0a;padding:.1rem .4rem;border-radius:.25rem}.lookup{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.875rem;padding:1.25rem;display:flex;flex-direction:column;gap:.875rem}.lookup__field{display:flex;flex-direction:column;gap:.4rem}.lookup__label{font-size:.85rem;font-weight:600;color:#e8eaedb3}.lookup__input{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem;padding:.75rem .9rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:.5rem;color:#fff}.lookup__input::placeholder{color:#e8eaed80}.lookup__input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d240}.lookup__submit{align-self:flex-start;padding:.7rem 1.5rem;background:#1976d2;color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:.95rem;transition:opacity 80ms ease-out,transform 80ms ease-out}.lookup__submit:hover:not(:disabled){opacity:.92}.lookup__submit:active:not(:disabled){transform:scale(.98)}.lookup__submit:disabled{opacity:.45;cursor:not-allowed}.details{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.875rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.details__head{display:flex;align-items:center;gap:1rem}.details__tier-badge{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700;padding:.35rem .7rem;border-radius:999px;background:#1976d2;color:#fff}.details__tier-badge--core{background:#6b7180}.details__tier-badge--pro{background:#1976d2}.details__tier-badge--enterprise{background:#03dac6;color:#0b0c0f}.details__title{margin:0;font-size:1.25rem;color:#fff}.details__sub{margin:.15rem 0 0;color:#e8eaedb3;font-size:.9rem}.details__rows{margin:0;display:grid;grid-template-columns:9rem 1fr;gap:.5rem 1rem}.details__row-label{font-size:.85rem;color:#e8eaed99}.details__row-value{margin:0;font-size:.95rem;color:#fff;word-break:break-all}.details__row-value--ok{color:#2fa971;font-weight:600}.details__row-value--mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.details__actions{display:flex;gap:.75rem;flex-wrap:wrap}.details__bundle{padding:.7rem 1.25rem;background:#03dac6;color:#0b0c0f;border:none;border-radius:.5rem;font-weight:700;font-size:.95rem;cursor:pointer;transition:opacity 80ms ease-out,background 80ms ease-out}.details__bundle:hover:not(:disabled){opacity:.92}.details__bundle:disabled{opacity:.6;cursor:progress}.details__bundle-ok{margin:0;padding:.7rem .9rem;background:#03dac614;border:1px solid rgba(3,218,198,.3);border-radius:.5rem;font-size:.9rem;color:#e8eaedeb}.details__bundle-ok code{background:#03dac626;padding:.05rem .3rem;border-radius:.25rem}.details__bundle-err{margin:0;padding:.7rem .9rem;background:#ff8a8014;border:1px solid rgba(255,138,128,.3);border-radius:.5rem;font-size:.9rem;color:#ff8a80}.details__download{padding:.7rem 1.25rem;background:#1976d2d9;color:#fff;text-decoration:none;border-radius:.5rem;font-weight:500;font-size:.9rem;transition:opacity 80ms ease-out}.details__download:hover{opacity:.92}.details__again{padding:.7rem 1.25rem;background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:.5rem;font-weight:500;font-size:.95rem}.details__again:hover{background:#ffffff1a}.details__hint{margin:0;padding:.75rem .9rem;background:#03dac60f;border-radius:.5rem;font-size:.85rem;color:#e8eaedbf}.error{background:#c93c3c14;border:1px solid rgba(201,60,60,.4);border-radius:.875rem;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.error__title{margin:0;color:#ff8a80;font-size:1.15rem}.error__body{margin:0;color:#e8eaedd9}.error__again{align-self:flex-start;padding:.55rem 1.1rem;background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:.5rem;font-size:.9rem}
