/* Customer control room: compact, responsive and action-led. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.portal-v2{padding-top:28px}
.portal-nav-shell{display:flex;align-items:center;gap:12px;margin-bottom:46px;padding:7px 8px 7px 16px;border:1px solid #d5dad1;border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 10px 30px rgba(11,27,32,.05)}
.portal-nav-label{flex:0 0 auto;padding-right:4px;color:#819092;font-size:8px;font-weight:750;letter-spacing:.15em}
.portal-nav-shell .portal-tabs{display:flex;align-items:center;gap:3px;width:auto;margin:0;padding:0;background:transparent;border:0;border-radius:0}
.portal-nav-shell .portal-tabs a{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:7px 12px;border-radius:11px;color:#526164;font-size:13px;font-weight:550;transition:background .18s,color .18s,transform .18s}
.portal-nav-shell .portal-tabs a:hover{background:#eef1e9;color:var(--ink)}
.portal-nav-shell .portal-tabs a.active{background:var(--ink);color:#fff;box-shadow:0 7px 18px rgba(11,27,32,.14)}
.portal-tabs a>i{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#e4e9de;color:var(--teal);font-size:12px;font-style:normal;font-weight:750}
.portal-tabs a>i svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
.portal-tabs a.active>i{background:var(--lime);color:var(--ink)}
.portal-account-chip{display:flex;align-items:center;gap:8px;margin-left:auto;padding:4px 9px 4px 4px;border-radius:12px;color:#526164;transition:background .18s}
.portal-account-chip:hover{background:#eef1e9;color:var(--ink)}
.portal-account-chip>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--teal);color:#fff;font-size:12px;font-weight:750}
.portal-account-chip small{max-width:90px;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:600;white-space:nowrap}
.portal-nav-shell .nav-alert{position:absolute;top:4px;right:4px;width:7px;height:7px;min-width:7px;border-width:1px}

.portal-v2 .portal-heading{align-items:center;margin-bottom:28px}
.portal-v2 .portal-heading h1{max-width:760px;margin:8px 0 6px;font-size:clamp(42px,5vw,62px);font-weight:700;line-height:.96;letter-spacing:-.065em}
.portal-v2 .portal-heading p{max-width:650px;color:#677679}
.portal-heading-actions,.ticket-heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.portal-v2 .panel{border-color:#d7dcd4;border-radius:17px;box-shadow:0 8px 28px rgba(11,27,32,.035)}
.portal-v2 .panel-heading{padding:20px 22px}

.portal-stat-grid{display:grid;grid-template-columns:1.05fr repeat(3,1fr);gap:10px;margin:0 0 18px;background:transparent;border-radius:0;overflow:visible}
.portal-stat-grid>a{position:relative;display:flex;flex-direction:column;min-width:0;min-height:146px;padding:20px 21px;border:1px solid #d7dcd4;border-radius:16px;background:#fff;color:var(--ink);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.portal-stat-grid>a:first-child{background:var(--ink);border-color:var(--ink);color:#fff}
.portal-stat-grid>a:hover{transform:translateY(-3px);border-color:#c4cdbf;box-shadow:0 16px 38px rgba(11,27,32,.08)}
.portal-stat-grid>a>span{color:#849194;font-size:10px;font-weight:650;letter-spacing:.1em}
.portal-stat-grid>a:first-child>span{color:#91a5a7}
.portal-stat-grid>a>strong{display:block;margin:10px 0 14px;font-size:29px;line-height:1.1;letter-spacing:-.045em;overflow-wrap:anywhere}
.portal-stat-grid>a>.small-stat{font-size:15px;line-height:1.35;letter-spacing:-.015em}
.portal-stat-grid>a>small{display:block;margin-top:auto;color:#758285;font-size:12px}
.portal-stat-grid>a:first-child>small{color:#b2c0c1}.portal-stat-grid>a small b{margin-left:5px;color:var(--teal)}.portal-stat-grid>a:first-child small b{color:var(--lime)}

.customer-billing-panel{scroll-margin-top:110px;overflow:hidden}
.portal-v2 .list-filters{padding:14px 18px;background:#f5f6f1}
.portal-v2 .list-filters input,.portal-v2 .list-filters select{min-height:39px;background:#fff}
.portal-v2 .list-filters .filter-submit,.portal-v2 .list-filters .filter-reset{height:39px}
.portal-v2 table tbody tr{transition:background .16s}.portal-v2 table tbody tr:hover{background:#f7f9f2}
.portal-v2 .table-link{display:inline-flex;align-items:center;gap:8px;color:var(--teal)}
.portal-v2 .table-link span{font-size:16px}

/* Services and domain inventory */
.portal-v2 .service-grid,.portal-v2 .domain-card-grid{gap:12px}
.portal-v2 .service-card{position:relative;min-height:285px;padding:23px;border-radius:17px;overflow:hidden}
.portal-v2 .service-card:after{content:"";position:absolute;right:-46px;bottom:-62px;width:130px;height:130px;border:1px dashed #ccd5c7;border-radius:50%;pointer-events:none}
.portal-v2 .service-icon{border-radius:11px;background:var(--ink);color:var(--lime)}
.portal-v2 .service-card h2{font-size:24px}.portal-v2 .service-card>p{font-size:13px}
.portal-v2 .service-open{position:relative;z-index:1;margin-top:18px;color:var(--teal)}
.portal-v2 .domain-card{min-height:126px;padding:20px;border-radius:17px}
.portal-v2 .domain-card-orbit{width:62px;height:62px}
.portal-v2 .domain-card h2{font-size:21px}
.portal-v2 .domain-pagination>.table-footer{border-top:0}
.portal-v2 .service-detail-grid{grid-template-columns:300px minmax(0,1fr);gap:14px}
.portal-v2 .service-facts{background:var(--ink);color:#fff}.portal-v2 .service-facts dt{color:#8fa1a3}.portal-v2 .service-facts code{color:var(--lime)}
.portal-v2 .service-content{padding:32px}

/* Helpdesk index */
.quick-ticket-compose{scroll-margin-top:105px;overflow:hidden}
.quick-ticket-compose .compose-close{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:#edf0e9;color:#667477;font-size:20px}
.quick-ticket-compose .compose-close:hover{background:var(--ink);color:#fff}
.compose-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:14px}
.compose-actions>small{margin-right:auto;color:#829093;font-size:11px}
.ticket-index-panel{overflow:hidden}
.ticket-filters label{flex-basis:108px}.ticket-filters label:first-of-type{flex-basis:190px}
.ticket-list{display:grid}
.ticket-list-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px 21px;border-bottom:1px solid #e1e5de;background:#fff;transition:background .16s,padding .16s}
.ticket-list-item:last-child{border-bottom:0}
.ticket-list-item:hover{padding-left:25px;background:#f7f9f2}
.ticket-list-item.has-reply{box-shadow:inset 4px 0 var(--lime)}
.ticket-list-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf0e9;color:var(--teal);font-size:17px}
.ticket-list-item.has-reply .ticket-list-mark{background:var(--lime);color:var(--ink)}
.ticket-list-main{display:block;min-width:0}.ticket-list-main>small,.ticket-list-main>strong,.ticket-list-main>span{display:block}
.ticket-list-main>small{color:#7b898b;font-size:10px;font-weight:650;letter-spacing:.045em;text-transform:uppercase}
.ticket-list-main>strong{margin:3px 0 4px;overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:650;white-space:nowrap}
.ticket-list-main>span{color:#879395;font-size:11px}.ticket-list-main .priority{font-size:11px}
.ticket-list-state{display:flex;align-items:center;gap:16px}.ticket-list-state>i{color:var(--teal);font-size:18px;font-style:normal}

/* Helpdesk thread and always-near reply composer */
.ticket-page .back-link{margin:4px 0 16px}
.ticket-page .ticket-heading{align-items:flex-end;margin:0 0 25px}
.ticket-page .ticket-heading h1{max-width:780px;font-size:clamp(38px,4.5vw,58px);overflow-wrap:anywhere}
.ticket-heading-actions{justify-content:flex-end}.ticket-heading-actions>.badge{padding:7px 11px}
.ticket-heading-actions .button{padding:10px 17px}
.ticket-workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px;align-items:start}
.thread-panel{min-width:0;border:1px solid #d7dcd4;border-radius:18px;background:#e9ece5;overflow:hidden}
.thread-panel-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #d3d8d0;background:#f7f8f4}
.thread-panel-head strong,.thread-panel-head span{display:block}.thread-panel-head strong{margin-top:2px;font-size:14px}.thread-panel-head>span{color:#819092;font-size:11px}
.ticket-page .conversation{gap:0;margin:0;padding:12px}
.ticket-page .message{position:relative;margin:0;padding:20px 20px 22px;border:0;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(11,27,32,.045)}
.ticket-page .message+.message{margin-top:10px}
.ticket-page .message-admin{margin-right:5%;background:#fff}
.ticket-page .message-customer{margin-left:5%;background:#f6f9ed}
.ticket-page .message-admin:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:14px 0 0 14px;background:var(--teal)}
.ticket-page .message header{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:11px;padding:0 0 14px;margin:0 0 15px}
.ticket-page .message-avatar{width:36px;height:36px;border-radius:11px;background:#dfe6d8;color:var(--teal)}
.ticket-page .message-admin .message-avatar{background:var(--ink);color:var(--lime)}
.ticket-page .message header small{margin:1px 0 0;font-size:11px}.ticket-page .message time{align-self:start;color:#829092;font-size:10px;white-space:nowrap}
.ticket-page .message-sequence{position:absolute;right:15px;bottom:10px;color:#c2cac2;font-family:Georgia,serif;font-size:10px;font-style:italic}
.ticket-reply-column{position:sticky;top:103px;scroll-margin-top:103px}
.quick-reply-box{margin:0;overflow:visible;box-shadow:0 18px 48px rgba(11,27,32,.09)!important}
.quick-reply-box .panel-heading{padding:18px}.quick-reply-box .reply-inner{padding:18px}
.quick-reply-box .quill-editor .ql-editor,.quick-reply-box .quill-editor>textarea{min-height:145px}
.quick-reply-box .compose-actions{display:block}.quick-reply-box .compose-actions small{display:block;margin:0 0 10px}.quick-reply-box .compose-actions .button{width:100%}
.reply-online{display:flex;align-items:center;gap:6px;color:#758386;font-size:9px}.reply-online i{width:6px;height:6px;border-radius:50%;background:#69a72b;box-shadow:0 0 0 3px #e0ebd4}
.ticket-closed-card{display:flex;gap:14px;padding:22px}.ticket-closed-card>span{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:11px;background:#e4f1d9;color:#477929}.ticket-closed-card strong{display:block}.ticket-closed-card p{margin:5px 0 16px;color:var(--muted);font-size:13px}

/* Profile */
.portal-v2 .profile-overview{padding:22px;background:var(--ink);color:#fff}.portal-v2 .profile-overview p,.portal-v2 .profile-overview dt{color:#94a5a7}.portal-v2 .profile-avatar{border-radius:15px}
.portal-v2 .settings-grid{gap:14px}.portal-v2 .settings-card{border-radius:17px}

/* Faster domain search: compact once results exist, useful shortcuts always visible. */
.domain-search-page.has-query .domain-search-stage{min-height:0;padding-top:58px;padding-bottom:45px}
.domain-search-page.has-query .domain-search-copy h1{margin:12px 0 8px;font-size:clamp(42px,5vw,64px)}
.domain-search-page.has-query .domain-search-copy p{margin-bottom:0}
.domain-search-page.has-query .domain-search-main{margin-top:25px}
.domain-price-chips{position:relative;z-index:2;display:flex;gap:7px;width:min(900px,100%);margin-top:13px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:thin}
.domain-price-chips a{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:7px 11px;border:1px solid #3a5055;border-radius:10px;background:#132b31;color:#dce5e4;transition:border-color .18s,background .18s}
.domain-price-chips a:hover{border-color:var(--lime);background:#19363c}.domain-price-chips strong{font-size:12px}.domain-price-chips span{color:#93a5a7;font-size:9px}
.domain-results-section{padding-top:55px}
.domain-results-heading{margin-bottom:20px}.domain-results-heading h2{font-size:38px}
.domain-result{padding:17px 19px}.domain-result.is-taken{background:#f2f3ef;box-shadow:none;opacity:.72}.domain-result.is-taken:hover{transform:none;opacity:1}
.domain-result.is-available{border-color:#cad8bd}.domain-result.is-available:hover{border-color:#aeca91}
.domain-search-error a{display:inline-block;margin-top:9px;color:var(--teal);font-size:13px;font-weight:650}

@media(max-width:1050px){
    .portal-nav-label,.portal-account-chip small{display:none}.portal-nav-shell{padding-left:8px}.portal-nav-shell .portal-tabs{flex:1}.portal-nav-shell .portal-tabs a{justify-content:center;flex:1;padding-inline:8px}
    .ticket-workspace{grid-template-columns:minmax(0,1fr) 340px}
}
@media(max-width:850px){
    .portal-v2{padding-top:20px}
    .portal-nav-shell{margin-bottom:32px;overflow-x:auto;scrollbar-width:none}.portal-nav-shell::-webkit-scrollbar{display:none}.portal-nav-shell .portal-tabs{flex:0 0 auto}.portal-nav-shell .portal-tabs a{flex:0 0 auto}
    .portal-account-chip{position:sticky;right:0;background:#fff;box-shadow:-10px 0 14px #fff}
    .portal-stat-grid{grid-template-columns:1fr 1fr}
    .ticket-workspace{display:flex;flex-direction:column}.ticket-reply-column{position:static;order:-1;width:100%}.thread-panel{width:100%}
    .portal-v2 .service-detail-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
    .portal-v2 .portal-heading{align-items:flex-start;gap:18px}.portal-heading-actions,.portal-heading-actions .button{width:100%}.portal-heading-actions .button{flex:1}
    .portal-nav-shell{margin-bottom:28px;border-radius:15px}.portal-nav-shell .portal-tabs{display:flex;width:auto;overflow:visible}.portal-nav-shell .portal-tabs a{width:auto;padding:7px 10px}.portal-nav-shell .portal-tabs a>i{display:none}.portal-account-chip{display:none}
    .portal-v2 .domain-heading-actions .button{flex:1}
    .ticket-list-item{grid-template-columns:38px minmax(0,1fr);gap:11px;padding:15px}.ticket-list-item:hover{padding-left:18px}.ticket-list-state{grid-column:2;justify-content:space-between}.ticket-list-state>i{display:none}
    .ticket-page .ticket-heading{align-items:flex-start}.ticket-heading-actions{justify-content:flex-start}.ticket-page .message-admin,.ticket-page .message-customer{margin-left:0;margin-right:0}
    .ticket-page .message header{grid-template-columns:36px minmax(0,1fr)}.ticket-page .message time{grid-column:2;white-space:normal}
}
@media(max-width:560px){
    .portal-v2{padding-bottom:80px}.portal-stat-grid{grid-template-columns:1fr}.portal-stat-grid>a{min-height:125px}
    .portal-v2 .portal-heading h1{font-size:42px}.portal-heading-actions{flex-direction:column}.portal-heading-actions .button{width:100%}
    .customer-invoice-table,.customer-invoice-table tbody,.customer-invoice-table tr,.customer-invoice-table td{display:block;width:100%}.customer-invoice-table thead{display:none}.customer-invoice-table tr{padding:14px 16px;border-top:1px solid var(--line)}.customer-invoice-table td{display:flex;justify-content:space-between;gap:20px;padding:5px 0;border:0;text-align:right}.customer-invoice-table td:before{content:attr(data-label);color:#859194;font-size:10px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;text-align:left}.customer-invoice-table td:last-child{margin-top:8px;padding-top:10px;border-top:1px solid #e4e7e0}.customer-invoice-table td:last-child:before{content:""}
    .compose-actions{align-items:stretch;flex-direction:column;gap:8px}.compose-actions>small{margin:0}.compose-actions .button{width:100%}
    .ticket-list-main>strong{white-space:normal}.ticket-list-main>span{line-height:1.5}
    .thread-panel-head>span{display:none}.ticket-page .conversation{padding:8px}.ticket-page .message{padding:17px}
    .domain-search-page.has-query .domain-search-stage{padding-top:42px}.domain-search-page.has-query .domain-search-copy h1{font-size:42px}
    .domain-search-main>div{grid-template-columns:1fr}.domain-search-main>div>span{display:none}.domain-search-main input{padding-left:10px;font-size:17px}
    .domain-result h3{font-size:20px;overflow-wrap:anywhere}.domain-result-action{align-items:stretch!important;flex-direction:column}.domain-result-action .button{width:100%}
}
