/* Geometry and components shared with the approved client-area preview. */
.esa-icon { width:20px; height:20px; flex-shrink:0; vertical-align:middle; display:inline-block; }
body.esa-app .esa-rail { padding:32px 18px 28px; }
body.esa-app .esa-portal-brand { padding:0 16px 30px; }
body.esa-app .esa-portal-brand>span { font-size:22px; color:#54616a; }
body.esa-app .esa-nav-caption { padding:22px 16px 9px; font-size:12px; letter-spacing:1.6px; font-weight:600; color:#7f929f; }
body.esa-app .esa-side-link { gap:12px; min-height:43px; padding:10px 14px; font-size:14px; margin-bottom:3px; line-height:1.5; }
body.esa-app .esa-side-link>.esa-icon { color:#94a5b3; width:19px; height:19px; }
body.esa-app .esa-side-link.active>.esa-icon { color:inherit; }
body.esa-app .esa-side-help { display:block; margin:16px 8px; padding:17px; border-radius:8px; }
body.esa-app .esa-side-help strong { color:#f2f5f7; font-size:14px; }
body.esa-app .esa-side-help p { font-size:12px; color:#a0aeb9; margin:6px 0 12px; }
body.esa-app .esa-side-help a { font-size:12px; gap:5px; }
body.esa-app .esa-side-help .esa-icon { width:15px; height:15px; }
body.esa-app .esa-page-grid>.primary-content { grid-column:1; grid-row:1; min-width:0; }
body.esa-app .esa-page-heading h1 { font-size:34px; line-height:1.2; letter-spacing:-1.3px; font-weight:550; }
body.esa-app .esa-page-heading p { margin-top:8px; }
body.esa-app .btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:43px; padding:10px 16px; font-size:14px; line-height:1.4; font-weight:600; border-radius:7px; }
body.esa-app .btn .esa-icon { width:17px; height:17px; }
body.esa-app .btn-block { display:flex; }
body.esa-app .btn-sm { min-height:34px; padding:7px 12px; font-size:12px; }
body.esa-app .esa-icon-button { border-radius:7px; width:39px; height:39px; }
body.esa-app .table-container { border-radius:10px; overflow:hidden; }
body.esa-app .esa-table-toolbar { padding:18px 22px; min-height:75px; }
body.esa-app .esa-filter-tabs { display:flex; gap:5px; flex-wrap:wrap; }
body.esa-app .esa-filter-tabs button { border:0; background:transparent; color:var(--esa-muted); padding:7px 12px; border-radius:6px; font-size:14px; cursor:pointer; }
body.esa-app .esa-filter-tabs button:hover { color:var(--esa-ink); background:var(--esa-raised); }
body.esa-app .esa-filter-tabs button.active { color:var(--esa-accent-text); background:var(--esa-wash); }
body.esa-app .dataTables_filter { margin:0; }
body.esa-app .dataTables_filter label { display:flex; align-items:center; gap:10px; border:1px solid var(--esa-line); border-radius:7px; background:var(--esa-bg); padding:0 12px; margin:0; }
body.esa-app .dataTables_filter input { min-width:175px; width:175px; border:0!important; box-shadow:none; border-radius:0; background:transparent; padding:10px 0; margin:0; height:38px; min-height:38px; font-size:14px; }
body.esa-app .dataTables_filter .esa-icon { width:17px; height:17px; color:var(--esa-muted); }
body.esa-app .esa-table-scroll { overflow-x:auto; }
body.esa-app .table { font-size:14px; white-space:nowrap; text-align:left; }
body.esa-app .table th { padding:13px 23px; text-transform:uppercase; letter-spacing:.5px; font-size:12px; font-weight:500; background:var(--esa-bg); color:var(--esa-muted); }
body.esa-app .table td { padding:20px 23px; text-align:left; vertical-align:middle; border-bottom:1px solid var(--esa-line); }
body.esa-app .table tbody tr:last-child td { border-bottom:0; }
body.esa-app .table .esa-list-title { display:block; color:var(--esa-ink); }
body.esa-app .table .esa-list-title strong { display:block; font-weight:600; font-size:14px; }
body.esa-app .table td small { display:block; font-size:12px; font-weight:400; color:var(--esa-muted); margin-top:4px; }
body.esa-app .table td.esa-list-price { font:400 14px var(--esa-ui); }
body.esa-app .table .esa-ssl-column { display:none; }
body.esa-app .esa-text-link { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--esa-accent-text); }
body.esa-app .esa-text-link .esa-icon { width:16px; height:16px; }
body.esa-app .table td.esa-row-action { text-align:right; }
body.esa-app .status { display:inline-flex; align-items:center; padding:3px 8px; border:1px solid transparent; border-radius:5px; font-size:12px; font-weight:500; line-height:1.5; text-transform:none; }
body.esa-app :is(.status-active,.status-paid,.status-answered) { color:#23744b; background:#e9f6ee; }
body.esa-app :is(.status-pending,.status-unpaid,.status-open) { color:#946308; background:#fff4d9; }
body.esa-app :is(.status-neutral,.status-closed,.status-cancelled,.status-terminated) { color:var(--esa-muted); background:var(--esa-raised); }
[data-theme=dark] body.esa-app :is(.status-active,.status-paid,.status-answered) { color:#88d8ab; background:#18352a; }
[data-theme=dark] body.esa-app :is(.status-pending,.status-unpaid,.status-open) { color:#efca79; background:#372e18; }
body.esa-app .esa-table-footer { padding:14px 23px; gap:16px; font-size:12px; display:flex; flex-wrap:wrap; border-top:1px solid var(--esa-line); }
body.esa-app .esa-table-footer .dataTables_info { padding:0; margin-right:auto; color:var(--esa-muted); font-size:12px; }
body.esa-app .dataTables_length { font-size:12px; }
body.esa-app .dataTables_length label { margin:0; }
body.esa-app .dataTables_length .esa-select { width:72px; }
body.esa-app .esa-table-footer .pagination { margin:0; }
body.esa-app .dataTables_empty { padding:65px 23px!important; color:var(--esa-muted); }
body.esa-app .esa-context-actions { display:flex; gap:12px; flex-wrap:wrap; margin:0 0 24px; }
body.esa-app .esa-context-actions:empty { display:none; }
body.esa-app .esa-action-menu { background:var(--esa-surface); border:1px solid var(--esa-line); border-radius:8px; min-width:170px; }
body.esa-app .esa-action-menu summary { list-style:none; display:flex; align-items:center; gap:14px; justify-content:space-between; padding:12px 15px; font-size:14px; font-weight:550; cursor:pointer; }
body.esa-app .esa-action-menu summary::-webkit-details-marker { display:none; }
body.esa-app .esa-action-menu summary>.esa-icon { width:15px; height:15px; }
body.esa-app .esa-action-menu[open] summary { border-bottom:1px solid var(--esa-line); }
body.esa-app .esa-action-menu-items { padding:6px; display:flex; flex-wrap:wrap; gap:4px; }
body.esa-app .esa-action-menu-items .list-group-item { display:flex; align-items:center; gap:8px; padding:9px 12px; border:0; border-radius:6px; font-size:14px; background:transparent; color:var(--esa-muted); }
body.esa-app .esa-action-menu-items .list-group-item.active { background:var(--esa-wash); color:var(--esa-accent-text); }
body.esa-app .esa-action-menu-items .list-group-item.disabled { opacity:.4; pointer-events:none; }
body.esa-app .esa-context-extra { flex-basis:100%; font-size:14px; }
body.esa-app .esa-domain-bulk { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
body.esa-app .esa-domain-bulk .btn { min-height:35px; padding:8px 12px; font-size:12px; }
body.esa-app .esa-account-tabs { margin-bottom:25px; padding-bottom:0; }
body.esa-app .esa-account-tabs a { font-size:14px; padding:12px 16px; }
body.esa-app .esa-account-navigation .esa-account-tabs { margin-bottom:0; }
body.esa-app .esa-form-card,body.esa-app .esa-settings-form,body.esa-app .esa-dashboard-panel { border-radius:10px; }
body.esa-app .esa-form-card-header,body.esa-app .esa-dashboard-panel-head { padding:21px 23px; }
body.esa-app .esa-form-card-header h2,body.esa-app .esa-dashboard-panel-head h2 { font-size:18px; }
body.esa-app .esa-form-card-body { padding:23px; }
body.esa-app .esa-form-card-body .esa-field-grid { max-width:none; }
body.esa-app .esa-field-grid { gap:20px; }
body.esa-app .esa-save-bar { padding:20px 23px; background:var(--esa-surface); }
body.esa-app .esa-save-bar>span { display:none; }
body.esa-app .esa-stat-grid { gap:18px; margin-bottom:27px; }
body.esa-app .esa-stat { padding:23px; border-radius:10px; }
body.esa-app .esa-stat>div { color:var(--esa-muted); font-size:14px; }
body.esa-app .esa-stat .esa-icon { color:var(--esa-accent-text); }
body.esa-app .esa-stat strong { font:500 37px/1.2 var(--esa-display); margin:17px 0 8px; letter-spacing:-1.3px; }
body.esa-app .esa-stat small { font-size:12px; }
body.esa-app .esa-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr); gap:24px; align-items:start; }
body.esa-app .esa-stack { display:grid; gap:24px; min-width:0; }
body.esa-app .esa-stack>.esa-form-card { margin-bottom:0; }
body.esa-app .esa-dashboard-record { padding:20px 23px; gap:14px; }
body.esa-app .esa-dashboard-record-icon { height:44px; width:44px; border-radius:9px; background:var(--esa-raised); }
body.esa-app .esa-dashboard-panel-body { padding:23px; }
body.esa-app .esa-definition-list { margin:0 0 20px; }
body.esa-app .esa-definition-list>div { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:13px 0; border-bottom:1px solid var(--esa-line); font-size:14px; }
body.esa-app .esa-definition-list dt { color:var(--esa-muted); font-weight:400; }
body.esa-app .esa-definition-list dd { margin:0; text-align:right; overflow-wrap:anywhere; }
body.esa-app .esa-billing-total { font:500 35px var(--esa-display); letter-spacing:-1px; margin:10px 0 5px; }
body.esa-app .esa-dark-card { background:#0e141a; color:#f4f6f8; border:1px solid #263440; border-radius:10px; padding:25px; }
body.esa-app .esa-dark-card>.esa-icon { color:var(--esa-accent); width:30px; height:30px; margin-bottom:20px; }
body.esa-app .esa-dark-card h2 { color:#f4f6f8; font-size:21px; }
body.esa-app .esa-dark-card p { font-size:14px; color:#aebbc5; margin:12px 0 22px; }
body.esa-app .esa-dark-card .esa-text-link { color:var(--esa-accent); }
body.esa-app .esa-section-label { margin:31px 0 16px; font-size:18px; }
body.esa-app .esa-quick-links { margin:0; }
body.esa-app .esa-quick-links a { border-radius:8px; padding:17px; gap:12px; font-size:14px; }
body.esa-app .esa-welcome-banner { display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid var(--esa-line); padding:17px 21px; border-radius:9px; background:var(--esa-wash); margin-bottom:25px; }
body.esa-app .esa-welcome-banner>div { display:flex; align-items:center; gap:14px; }
body.esa-app .esa-welcome-banner p { margin:0; font-size:14px; }
body.esa-app .esa-welcome-banner strong,body.esa-app .esa-welcome-banner small { display:block; }
body.esa-app .esa-welcome-banner .esa-icon { color:var(--esa-accent-text); }
body.esa-app .esa-knowledge-search { text-align:center; border:1px solid var(--esa-line); background:var(--esa-wash); border-radius:10px; padding:35px; margin-bottom:25px; }
body.esa-app .esa-knowledge-search form { max-width:640px; margin:22px auto 0!important; }
body.esa-app .esa-knowledge-search h2 { font-size:25px; }
body.esa-app .esa-knowledge-search p { font-size:14px; color:var(--esa-muted); }
body.esa-app .esa-knowledge-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body.esa-app .esa-knowledge-card { height:100%; }
body.esa-app .esa-knowledge-card .card-body { display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding:25px; }
body.esa-app .esa-knowledge-card p { color:var(--esa-muted); font-size:14px; margin:0; }
body.esa-app .esa-knowledge-card .esa-text-link { margin-top:auto; }
body.esa-app .esa-knowledge-card .badge { display:none; }
@media(max-width:1100px) { body.esa-app .esa-rail { padding-inline:12px; } body.esa-app .esa-dashboard-grid { grid-template-columns:1fr; } body.esa-app .esa-knowledge-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { body.esa-app .esa-rail { padding-bottom:25px; } body.esa-app .esa-table-toolbar { align-items:stretch; flex-direction:column; padding:15px; } body.esa-app .dataTables_filter input { width:100%; min-width:0; } body.esa-app .dataTables_filter label { width:100%; } body.esa-app .esa-welcome-banner { align-items:flex-start; flex-direction:column; } body.esa-app .esa-table-footer { padding:14px 15px; } }
@media(max-width:520px) { body.esa-app .esa-knowledge-grid { grid-template-columns:1fr; } body.esa-app .esa-page-heading h1 { font-size:27px; } body.esa-app .esa-stat { padding:17px; } }
body.esa-app .esa-detail-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr); gap:24px; margin-bottom:24px; align-items:start; }
body.esa-app .esa-detail-layout .esa-resource-hero { padding:0 0 20px; border:0; }
body.esa-app .esa-detail-layout .esa-resource-hero h2 { font-size:21px; }
body.esa-app .esa-detail-layout .esa-resource-hero .esa-eyebrow { display:none; }
body.esa-app .esa-detail-layout .esa-resource-actions { display:grid; padding:0; border:0; margin-bottom:10px; background:none; gap:10px; }
body.esa-app .esa-empty-state { padding:45px 23px; text-align:center; }
body.esa-app .esa-empty-state>.esa-icon { width:32px; height:32px; color:var(--esa-muted); margin-bottom:15px; }
body.esa-app .esa-empty-state h3 { font-size:18px; margin:0 0 9px; }
body.esa-app .esa-empty-state p { font-size:14px; color:var(--esa-muted); max-width:410px; margin:0 auto; }
body.esa-app .esa-dashboard-panel-head h2>.esa-icon { display:none; }
body.esa-app .esa-account-tabs .esa-icon { width:16px; height:16px; }
body.esa-app .prepend-icon .field-icon .esa-icon { width:16px; height:16px; }
@media(max-width:1000px) { body.esa-app .esa-detail-layout { grid-template-columns:1fr; } }
@media print { body.esa-app .esa-rail,body.esa-app .esa-topbar,body.esa-app .esa-app-footer,body.esa-app .esa-context-actions,body.esa-app .esa-heading-actions { display:none!important; } }
body.esa-app .esa-extra-nav { margin-top:15px; border-top:1px solid #2b3740; padding-top:10px; }
body.esa-app .esa-extra-nav summary { list-style:none; display:flex; align-items:center; justify-content:space-between; padding:10px 14px; color:#a0aeb9; font-size:12px; cursor:pointer; }
body.esa-app .esa-extra-nav summary .esa-icon { width:15px; height:15px; }
