.portal-main{background:var(--paper);min-height:70vh;padding:42px 0 72px}.portal-title{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:29px}.portal-title .eyebrow{margin-bottom:7px;font-size:.8125rem}.portal-title h1{font-size:2.2rem;letter-spacing:-.035em}#account-controls{display:flex;gap:18px;align-items:center;font-size:.9rem}#account-name{max-width:220px;overflow-wrap:anywhere}.demo-notice{background:#f1edff;border:1px solid #e1d8fa;padding:11px 17px;border-radius:9px;font-size:.875rem;color:#655087;margin-bottom:23px}.demo-notice>span{font-weight:650;margin-right:17px}.portal-alert{border:1px solid #e5d4b7;background:#fff7e8;color:#76552a;border-radius:8px;padding:12px 15px;margin-bottom:20px;font-size:.9rem;overflow-wrap:anywhere}.portal-alert.success{background:#f0f8f3;color:#326949;border-color:#d4e9db}.portal-loading{text-align:center;padding:60px}.portal-loading p{margin-top:12px}.portal-unavailable{max-width:740px;margin:40px auto;padding:40px}.portal-unavailable p{margin:18px 0 25px}.portal-login{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding:22px 45px 25px}.login-copy h2{font-size:2.2rem;margin-bottom:20px}.login-copy>p{max-width:410px}.login-copy .check-list{margin-top:28px}.login-panel{padding:36px}.login-panel h2{font-size:1.65rem}.field{display:grid;gap:8px;font-size:.9375rem;font-weight:550;margin-top:23px;min-width:0}.field input,.field textarea,.field select{width:100%;min-width:0;padding:12px 14px;border:1px solid #d9ddeb;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:400;line-height:1.6}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid #6948e824;border-color:var(--purple)}.field input::placeholder,.field textarea::placeholder{color:#8a8ea0;font-size:.9rem}.full{width:100%}#login-form .button{margin-top:27px}#demo-login{margin-top:29px}.form-hint{font-size:.8125rem;color:#767c8e;margin:16px 0 22px;line-height:1.8}.login-panel .form-hint{margin-bottom:0}.login-panel .portal-alert{margin-top:18px}.portal-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px}.portal-sidebar{padding:15px;background:#fff;border:1px solid var(--line);border-radius:15px;align-self:start;position:sticky;top:111px}.portal-sidebar nav{display:grid;gap:7px}.portal-sidebar nav a{display:flex;gap:11px;align-items:center;padding:12px 14px;border-radius:8px;font-size:.94rem;color:#626a7e}.portal-sidebar nav a .icon{width:19px;height:19px}.portal-sidebar nav a:hover{background:#f7f5fd}.portal-sidebar nav a[aria-current=page]{color:var(--purple);background:var(--pale);font-weight:600}.sidebar-note{font-size:.8125rem;color:#808497;border-top:1px solid var(--line);margin-top:28px;padding:21px 12px 7px}.sidebar-note a{color:var(--purple);display:flex;align-items:center;gap:9px;margin-top:7px}.sidebar-note .icon{width:16px;height:16px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.workspace-heading h2{font-size:1.55rem;letter-spacing:-.02em}.workspace-heading p{font-size:.9rem;margin-top:5px}.workspace-heading .button{flex-shrink:0}.membership-card{padding:30px 32px;background:linear-gradient(110deg,#28223f,#3e305e);color:#fff;border-radius:17px;position:relative;overflow:hidden}.membership-card-top{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:.94rem;color:#d7cbea}.membership-badge{border:1px solid #ffffff35;background:#ffffff12;color:white;font-size:.8125rem;border-radius:6px;padding:4px 12px}.expiry-label{font-size:.875rem;color:#bbb2cd;margin-top:31px}.expiry-date{font-size:2.55rem;letter-spacing:.01em;line-height:1.5;font-weight:600;margin-top:4px;overflow-wrap:anywhere}.membership-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:23px}.membership-card-bottom p{color:#c4b8d9;font-size:.875rem}.membership-card-bottom .button{background:#fff;color:#473066;min-height:43px;padding:10px 16px;font-size:.875rem;flex-shrink:0}.account-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:21px}.account-facts .panel{padding:23px;border-radius:13px}.account-facts span{font-size:.875rem;color:var(--muted)}.account-facts strong{display:block;font-size:1.3rem;margin:9px 0 7px;overflow-wrap:anywhere}.account-facts p{font-size:.8125rem}.portal-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.portal-quick-links a{border:1px solid var(--line);border-radius:13px;background:#fff;display:flex;align-items:center;gap:16px;padding:23px}.portal-quick-links a:hover{border-color:#c9bdef}.portal-quick-links .icon-box{margin:0;width:40px;height:40px;flex-shrink:0}.portal-quick-links h3{font-size:1rem}.portal-quick-links p{font-size:.8125rem;margin-top:5px}.portal-quick-links a>.icon{width:18px;color:var(--purple);margin-left:auto}.renewal-current{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:21px;border-bottom:1px solid var(--line);font-size:.9rem}.renewal-current>span{color:var(--muted)}.renewal-current strong{font-size:1.1rem}.renewal-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:30px 0}.renewal-steps li>span{font-size:.875rem;display:block;color:var(--purple);margin-bottom:6px}.renewal-steps strong{font-size:1rem}.renewal-steps p{font-size:.875rem;margin-top:4px}.device-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:14px;display:flex;align-items:center;gap:18px}.device-card .icon-box{flex-shrink:0;margin:0}.device-info{flex:1;min-width:0}.device-info h3{font-size:1.05rem;overflow-wrap:anywhere}.device-info p{font-size:.8125rem;margin-top:5px}.device-info .tag{margin-top:9px}.device-card>.button{flex-shrink:0}.ticket-row{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;padding:19px 23px;margin-bottom:12px;color:var(--ink)}.ticket-row:hover,.ticket-row[aria-pressed=true]{border-color:#baa8ee;background:#fdfcff}.ticket-row h3{font-size:1rem;overflow-wrap:anywhere}.ticket-row p{font-size:.8125rem;margin-top:5px}.ticket-row .tag{flex-shrink:0}.ticket-detail{margin-top:28px;border-color:#dbd0f6}.ticket-reference{font-size:.8125rem;color:var(--muted)}.ticket-detail h3{margin-top:4px;overflow-wrap:anywhere}.message-list{display:grid;gap:15px;margin-top:20px}.ticket-message{border:1px solid var(--line);background:#f9fafc;border-radius:10px;padding:17px 20px}.ticket-message.staff{background:#f3efff;border-color:#e2d9fa}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.8125rem;color:var(--muted);margin-bottom:10px}.message-meta strong{font-weight:600;color:var(--ink)}.ticket-message p{color:#4c5269;font-size:.94rem;white-space:pre-wrap;overflow-wrap:anywhere}.ticket-pagination{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:20px;font-size:.875rem}.portal-dialog{border:1px solid var(--line);border-radius:18px;padding:29px;max-width:550px;width:calc(100% - 32px);max-height:90vh;color:var(--ink);box-shadow:0 30px 100px #21133335}.portal-dialog::backdrop{background:#18172d77;backdrop-filter:blur(3px)}.portal-dialog .field{margin-top:18px}.portal-dialog .button-row{margin-top:22px}#confirm-description{font-size:.95rem}.portal-dialog .portal-alert,form .portal-alert{margin-top:19px;margin-bottom:0}.portal-dialog .dialog-top h2{font-size:1.4rem}.portal-empty{background:white;border:1px dashed #d7d9e5;border-radius:14px;text-align:center;padding:43px 26px}.portal-empty h3{font-size:1.15rem}.portal-empty p{font-size:.9rem;margin-top:11px}.portal-error{padding:23px;border:1px solid #e4d7bc;background:#fff9ed;border-radius:11px}.portal-error p{color:#765a32;font-size:.95rem;margin-bottom:14px}
@media(max-width:1060px){.portal-login{gap:40px;padding-inline:20px}.portal-shell{grid-template-columns:180px minmax(0,1fr);gap:20px}.portal-sidebar{padding:12px}.portal-sidebar nav a{padding:11px 10px}.account-facts .panel{padding:20px}.portal-quick-links a{padding:20px;gap:12px}.portal-quick-links .icon-box{display:none}.nav-links{gap:18px}}
@media(max-width:820px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{position:static;padding:9px}.portal-sidebar nav{display:flex;justify-content:space-between;gap:5px}.portal-sidebar nav a{font-size:.875rem;gap:7px;justify-content:center;flex:1}.sidebar-note{display:none}.portal-login{gap:25px;padding-inline:0}.login-panel{padding:26px}.login-copy h2{font-size:1.85rem}.portal-title h1{font-size:2rem}.portal-title{margin-bottom:24px}.portal-main{padding-top:32px}.expiry-date{font-size:2.3rem}.nav-links{flex-wrap:wrap}.portal-quick-links .icon-box{display:grid}}
@media(max-width:620px){.portal-main{padding-block:27px 42px}.portal-title{align-items:flex-start;gap:12px}.portal-title h1{font-size:1.8rem}.portal-title .eyebrow{font-size:.75rem}#account-controls{flex-direction:column;align-items:flex-end;gap:7px;font-size:.8125rem}#account-name{max-width:160px}.demo-notice{font-size:.8125rem;line-height:1.8;padding:11px 14px}.demo-notice>span{display:block;margin-bottom:3px}.portal-login{grid-template-columns:1fr;padding-block:4px;gap:23px}.login-copy{padding:15px 5px 0}.login-copy .icon-box,.login-copy .check-list{display:none}.login-copy h2{font-size:1.75rem;line-height:1.5;margin-bottom:12px}.login-copy br{display:none}.login-copy>p{font-size:.95rem}.login-panel{padding:26px}.portal-sidebar nav{gap:1px}.portal-sidebar nav a{padding:9px 5px;font-size:.8125rem;white-space:nowrap}.portal-sidebar nav a .icon{display:none}.workspace-heading{gap:12px;margin-bottom:20px}.workspace-heading h2{font-size:1.35rem}.workspace-heading p{font-size:.875rem}.workspace-heading .button{padding-inline:12px;min-height:39px}.membership-card{padding:24px}.membership-card-top{font-size:.8125rem;gap:10px}.membership-badge{padding:3px 8px;font-size:.75rem}.expiry-label{margin-top:25px}.expiry-date{font-size:1.95rem}.membership-card-bottom{flex-direction:column;align-items:start;gap:17px;margin-top:16px}.account-facts{grid-template-columns:1fr;gap:11px;margin-top:16px}.account-facts .panel{padding:18px 22px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.account-facts strong{font-size:1.1rem;margin:0;text-align:right}.account-facts p{grid-column:1/-1}.portal-quick-links{grid-template-columns:1fr;gap:11px;margin-top:17px}.portal-quick-links a{padding:19px 22px}.portal-quick-links .icon-box{display:grid}.renewal-current{align-items:start;flex-direction:column;gap:7px;padding-bottom:18px}.renewal-current strong{font-size:1rem}.renewal-steps{gap:14px;margin:24px 0}.renewal-steps strong{font-size:.9rem}.renewal-steps p{font-size:.8125rem}.device-card{padding:22px;flex-wrap:wrap;gap:15px}.device-card>.button{margin-left:0}.device-info{flex-basis:calc(100% - 62px)}.ticket-row{padding:17px;gap:12px;align-items:start}.ticket-row .tag{font-size:.75rem;padding:2px 7px}.ticket-detail{padding:22px}.ticket-detail .workspace-heading{align-items:start;flex-direction:column}.message-meta{align-items:start;flex-direction:column;gap:4px}.ticket-message{padding:16px}.portal-dialog{padding:24px}.portal-loading{padding:40px 23px}.portal-loading h2,.portal-unavailable h2{font-size:1.4rem}.portal-unavailable{padding:30px 25px}.portal-title .button{font-size:.8125rem}.portal-empty{padding:32px 20px}}
.payment-methods{border:0;padding:0;margin:24px 0;display:flex;gap:14px;flex-wrap:wrap}.payment-methods legend{font-size:.9375rem;font-weight:550;margin-bottom:10px}.payment-methods label{border:1px solid var(--line);padding:12px 18px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.95rem;cursor:pointer}.payment-methods input{accent-color:var(--purple)}#payment-plans>p{font-size:.9rem;margin-top:10px}.order-section{margin:29px 0}.order-section>h3{margin-bottom:16px}.order-amount{display:block;font-size:2rem;margin:17px 0 10px;color:var(--purple)}.order-number{font-size:.8125rem;overflow-wrap:anywhere}.payment-qr{display:block;margin:20px auto 0;border:1px solid var(--line);border-radius:9px;max-width:100%;height:auto}.renewal-assistance .panel{padding:20px 0;border:0}.renewal-assistance .faq-content{padding-bottom:24px}#payment-checkout{margin-top:20px}#payment-checkout>.form-hint{text-align:center}.portal-dialog .button-row{flex-wrap:wrap}
.field-optional{font-weight:400;font-size:.8125rem;color:var(--muted)}.referral-card{margin-block:22px}.referral-card>p{margin-top:16px}.referral-code{display:block;font:650 2rem/1.7 Consolas,monospace;letter-spacing:.08em;color:var(--purple);overflow-wrap:anywhere}.referral-card .button-row{margin-top:20px}#agent-application,#agent-price-form{margin-top:23px}#agent-application p,#agent-price-form p{font-size:.9rem;margin-top:10px}#agent-application .button{margin-top:24px}.quote-summary{display:grid;grid-template-columns:1fr auto;gap:8px;padding:20px;background:var(--pale);border-radius:10px;margin-top:22px;font-size:.95rem}.quote-summary strong{font-size:1.45rem;color:var(--purple)}.quote-summary p{grid-column:1/-1;font-size:.875rem}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.admin-section{margin-top:32px}.admin-search{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.admin-search .field{flex:1;margin-top:0;min-width:180px}.admin-controls{display:flex;gap:9px;flex-wrap:wrap}.admin-card{padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:14px}.admin-card h3{font-size:1.1rem;overflow-wrap:anywhere}.admin-card p{font-size:.875rem;margin:8px 0 15px;white-space:pre-wrap;overflow-wrap:anywhere}.agent-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:26px}.agent-rule-grid .panel{padding:23px}.agent-rule-grid h3{margin-bottom:10px}.agent-rule-grid p{font-size:.875rem}.admin-page .panel>h2{font-size:1.4rem}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.admin-form-grid .field{margin:0}.admin-link{font-size:.875rem;color:var(--purple);margin-left:auto}.admin-pagination{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:15px}#admin-agent-summary{font-size:.9rem;line-height:1.9;white-space:pre-wrap}#admin-workspace{margin-top:25px}.admin-pool-line{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.9rem}
@media(max-width:820px){.portal-sidebar nav{flex-wrap:wrap}.admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){.portal-sidebar nav a{flex:1 1 28%;padding:9px 5px}.quote-summary{grid-template-columns:1fr}.referral-code{font-size:1.6rem}.agent-rule-grid{grid-template-columns:1fr}.admin-form-grid{grid-template-columns:1fr}.admin-card{padding:20px}.admin-pool-line{flex-wrap:wrap;gap:5px}}
/* Seat checkout stays behind the server capability and uses the existing portal design. */
.seat-purchase-list { display: grid; gap: 10px; max-height: 420px; overflow: auto; margin: 12px 0; }
.seat-purchase-row { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid #e5dff6; border-radius: 12px; background: #faf8ff; }
.seat-purchase-row > input { margin-top: 5px; flex: 0 0 auto; }
.seat-purchase-row > span { display: grid; gap: 5px; min-width: 0; }
.seat-purchase-row span span { color: #6e6682; font-size: 12px; overflow-wrap: anywhere; }
#seat-purchase-panel form { display: grid; gap: 16px; }
#seat-purchase-panel [hidden] { display: none !important; }
.seat-summary{display:flex;flex-wrap:wrap;gap:12px;padding:12px;border-radius:10px;background:#f5f1ff}
.seat-management-list{display:grid;gap:12px;margin:16px 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))}
.seat-management-row{min-width:0;padding:16px;border:1px solid #e6e0f4;border-radius:12px;background:white}
.seat-management-row p,.seat-management-row h4{overflow-wrap:anywhere}
#seat-management-panel .portal-dialog{width:min(680px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:90vh;overflow:auto}
#seat-management-panel .portal-dialog select{min-width:0;width:100%;max-width:100%}
#seat-management-panel fieldset{border:0;padding:0;min-width:0}
#seat-management-panel button:disabled{opacity:.45;cursor:not-allowed}
.seat-onboarding-panel{border:1px solid #ddd5f5;border-radius:12px;padding:14px;display:grid;gap:12px;margin:16px 0;background:#fcfaff}
.seat-replace-confirm{display:flex;align-items:flex-start;gap:8px;background:#fff5e9;padding:12px;border-radius:8px;font-weight:600}
.seat-replace-confirm[hidden]{display:none}
.seat-replace-confirm input{width:auto;flex-shrink:0;margin-top:4px}
