.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-7)}.stat-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);transition:box-shadow var(--transition)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-value{font-size:30px;font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-tight);line-height:1}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.stat-change{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:3px}.stat-change-up{color:var(--color-success)}.stat-change-down{color:var(--color-error)}.section-heading{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4)}.website-list{display:flex;flex-direction:column;gap:var(--space-3)}.website-item{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);transition:box-shadow var(--transition)}.website-item:hover{box-shadow:var(--shadow-md)}.website-item-left{display:flex;align-items:center;gap:var(--space-4);min-width:0}.website-favicon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.website-domain{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.website-plan{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:2px}.website-usage{margin-top:var(--space-2);width:200px}.website-item-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.email-list{display:flex;flex-direction:column;gap:var(--space-3)}.email-item{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);transition:box-shadow var(--transition)}.email-item:hover{box-shadow:var(--shadow-md)}.email-item-left{display:flex;align-items:center;gap:var(--space-4);min-width:0}.email-address{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.email-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:2px}.email-item-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.vps-list{display:flex;flex-direction:column;gap:var(--space-5)}.vps-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:box-shadow var(--transition)}.vps-card:hover{box-shadow:var(--shadow-md)}.vps-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.vps-card-info{display:flex;align-items:center;gap:var(--space-3)}.vps-hostname{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.vps-location{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:2px}.vps-card-actions{display:flex;align-items:center;gap:var(--space-2)}.vps-specs-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-5)}.vps-spec-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.vps-spec-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold)}.vps-metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-5);gap:var(--space-5);margin-bottom:var(--space-5)}.vps-metric-label{display:flex;justify-content:space-between;font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.vps-metric-name{color:var(--color-text-muted)}.vps-metric-value{font-weight:var(--font-weight-semibold)}.vps-footer{justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-muted);border-top:1px solid var(--color-border);padding-top:var(--space-4);gap:var(--space-4);flex-wrap:wrap}.vps-footer,.vps-footer-item{display:flex;align-items:center}.vps-footer-item{gap:var(--space-2)}.vps-ip{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--color-bg);padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.billing-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-5);gap:var(--space-5);margin-bottom:var(--space-6)}.plan-name{font-size:24px;font-weight:var(--font-weight-extrabold);color:var(--color-primary);margin-bottom:var(--space-1)}.plan-meta{color:var(--color-text-muted);margin-bottom:var(--space-5)}.plan-detail-row,.plan-meta{font-size:var(--font-size-sm)}.plan-detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-light)}.plan-detail-row:last-child{border-bottom:none}.plan-detail-key{color:var(--color-text-muted)}.plan-detail-val{font-weight:var(--font-weight-semibold)}.payment-card-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition)}.payment-card-item.is-default{border-color:var(--color-primary);background:var(--color-primary-light)}.payment-card-item:hover:not(.is-default){border-color:var(--color-text-muted)}.payment-card-left{display:flex;align-items:center;gap:var(--space-3)}.payment-card-number{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.payment-card-expiry{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.invoice-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-light);gap:var(--space-4)}.invoice-row:last-child{border-bottom:none}.invoice-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.invoice-number{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.invoice-right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.invoice-amount{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.horizons-hero{background:linear-gradient(135deg,var(--color-primary),#a855f7);border-radius:var(--radius-xl);padding:var(--space-12) var(--space-10);text-align:center;color:#fff;margin-bottom:var(--space-6)}.horizons-hero-emoji{font-size:48px;margin-bottom:var(--space-4)}.horizons-hero h2{font-size:26px;font-weight:var(--font-weight-extrabold);margin-bottom:var(--space-3)}.horizons-hero p{font-size:var(--font-size-base);opacity:.92;max-width:520px;margin:0 auto var(--space-7)}.horizons-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.horizons-step{text-align:center}.horizons-step-icon{font-size:32px;margin-bottom:var(--space-3)}.horizons-step-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:var(--space-2)}.horizons-step-desc{font-size:var(--font-size-sm);color:var(--color-text-muted)}.reach-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-5);gap:var(--space-5)}.seo-score-value{font-size:34px;font-weight:var(--font-weight-extrabold);color:var(--color-success)}.seo-stats-row{display:flex;justify-content:space-between;margin-top:var(--space-4)}.seo-stat-val{font-size:20px;font-weight:var(--font-weight-extrabold)}.seo-stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.agent-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);transition:box-shadow var(--transition)}.agent-card:hover{box-shadow:var(--shadow-md)}.agent-card-top{display:flex;align-items:center;gap:var(--space-3)}.agent-icon{font-size:28px}.agent-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.agent-tagline{font-size:var(--font-size-xs);margin-top:2px}.agent-desc,.agent-tagline{color:var(--color-text-muted)}.agent-desc{font-size:var(--font-size-sm);flex:1 1}.profile-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-5);gap:var(--space-5)}.profile-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light)}.profile-detail-row:last-child{border-bottom:none}.profile-key{color:var(--color-text-muted)}.profile-val{font-weight:var(--font-weight-medium)}.security-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0}.security-row+.security-row{border-top:1px solid var(--color-border-light)}.security-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.security-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.access-info-box{background:var(--color-bg);border-radius:var(--radius-md);padding:14px 18px;font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:var(--space-5);border:1px solid var(--color-border-light);line-height:var(--line-height)}.access-status-active{color:var(--color-success)}.access-status-active,.access-status-pending{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold)}.access-status-pending{color:var(--color-warning)}.admin-tab .page-header{margin-bottom:var(--space-5)}.admin-tab .page-title{margin-bottom:var(--space-2)}.admin-tab .page-subtitle{max-width:52rem;line-height:1.6}.rbac-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.rbac-toolbar-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.rbac-toolbar-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--space-1) 0 0;line-height:1.5}.rbac-role-select{min-width:220px;max-width:320px}.rbac-row-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap}.rbac-table-wrap{max-width:100%;overflow-x:auto}.rbac-table-wrap .table td,.rbac-table-wrap .table th{padding:var(--space-4) var(--space-5);vertical-align:middle}.rbac-table-wrap .table th{font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.rbac-table-wrap .table tbody tr:hover{background:var(--color-bg)}.rbac-perm-module{margin-bottom:var(--space-4)}.rbac-perm-module:last-child{margin-bottom:0}.rbac-perm-module-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light)}.rbac-perm-module-body{padding:var(--space-3) var(--space-5) var(--space-4)}.rbac-perm-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.rbac-perm-row+.rbac-perm-row{border-top:1px solid var(--color-border-light)}.rbac-perm-row label{display:flex;align-items:center;gap:var(--space-3);flex:1 1;cursor:pointer;margin:0}.rbac-perm-row input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.rbac-detail-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.rbac-detail-row{display:grid;grid-template-columns:140px 1fr;grid-gap:var(--space-3);gap:var(--space-3);align-items:start;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light)}.rbac-detail-row:last-child{border-bottom:none;padding-bottom:0}.rbac-detail-key{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.rbac-detail-val{font-size:var(--font-size-sm);color:var(--color-text);line-height:1.55;word-break:break-word}.rbac-perm-footer{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-5);border-top:1px solid var(--color-border-light);background:var(--color-bg)}.rbac-detail-section{animation:rbacFadeIn .2s ease}@keyframes rbacFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.rbac-back-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:0;border:none;background:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font);cursor:pointer;transition:opacity var(--transition)}.rbac-back-link:hover{opacity:.75}.rbac-back-link svg{flex-shrink:0}.rbac-page-panel{margin-top:0}.rbac-page-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) 0}.rbac-page-panel-body{padding:var(--space-4) var(--space-5) var(--space-5)}.rbac-page-panel-footer{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.rbac-page-panel .form-group+.form-group{margin-top:var(--space-4)}.rbac-field-hint{margin:var(--space-2) 0 0;line-height:1.5}.rbac-check-row{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.rbac-table-wrap .table tbody tr.rbac-row-selected,.rbac-table-wrap .table tbody tr.rbac-row-selected:hover{background:var(--color-primary-light)}.rbac-tip-wrap{position:relative;display:inline-flex}.rbac-tip-wrap .rbac-tip-bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-text);color:#fff;font-size:11px;font-weight:var(--font-weight-semibold);line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s ease;z-index:20;box-shadow:var(--shadow-md)}.rbac-tip-wrap .rbac-tip-bubble:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--color-text)}.rbac-tip-wrap:focus-within .rbac-tip-bubble,.rbac-tip-wrap:hover .rbac-tip-bubble{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.rbac-tip-wrap .rbac-tip-bubble.is-floating{position:fixed;left:0;top:0;bottom:auto;transform:translate(-50%,-100%) translateY(4px);z-index:1000}.rbac-tip-wrap:focus-within .rbac-tip-bubble.is-floating,.rbac-tip-wrap:hover .rbac-tip-bubble.is-floating{transform:translate(-50%,-100%) translateY(0)}.rbac-tip-wrap .rbac-tip-bubble.is-floating.is-below{transform:translate(-50%) translateY(-4px)}.rbac-tip-wrap:focus-within .rbac-tip-bubble.is-floating.is-below,.rbac-tip-wrap:hover .rbac-tip-bubble.is-floating.is-below{transform:translate(-50%)}.rbac-tip-wrap .rbac-tip-bubble.is-floating.is-below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--color-text)}#rbac-overrides-body{max-height:none}@media (max-width:720px){.rbac-detail-row{grid-template-columns:1fr;gap:var(--space-1)}.rbac-role-select{width:100%;max-width:none}}#page-customers{--cust-b2b:#2563eb;--cust-b2b-bg:#eff6ff;--cust-b2b-border:#bfdbfe;--cust-b2c:#15803d;--cust-b2c-bg:#f0fdf4;--cust-b2c-border:#bbf7d0}#page-customers .page-header{margin-bottom:var(--space-5)}#page-customers .page-subtitle{max-width:48rem;line-height:1.6;color:var(--color-text-muted)}.cust-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-5)}.cust-stat-card{position:relative;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition)}.cust-stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--color-border)}.cust-stat-card.cust-stat-total:before{background:var(--color-primary)}.cust-stat-card.cust-stat-b2b:before{background:var(--cust-b2b)}.cust-stat-card.cust-stat-b2c:before{background:var(--cust-b2c)}.cust-stat-card.cust-stat-active:before{background:#16a34a}.cust-stat-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-1)}.cust-stat-value{font-size:1.75rem;font-weight:var(--font-weight-extrabold);color:var(--color-text);line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cust-stat-hint{display:block;margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.cust-toolbar{justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-white)}.cust-toolbar,.cust-toolbar-left{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.cust-segment{display:inline-flex;padding:3px;border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border)}.cust-segment-btn{padding:7px 14px;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font);cursor:pointer;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.cust-segment-btn:hover{color:var(--color-text)}.cust-segment-btn.active{background:var(--color-white);color:var(--color-text);box-shadow:var(--shadow-xs)}.cust-search-wrap{position:relative;min-width:min(100%,280px)}.cust-search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.cust-search-input{width:100%;padding:9px 12px 9px 38px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);font-size:var(--font-size-sm);font-family:var(--font);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.cust-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-mid)}.cust-search-input::placeholder{color:var(--color-text-muted)}#page-customers .rbac-table-wrap .table tbody tr.table-row-link{cursor:pointer}.cust-customer-cell{display:flex;align-items:center;gap:var(--space-3);min-width:200px}.cust-avatar{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:var(--font-weight-bold);letter-spacing:.02em}.cust-avatar-b2b{background:var(--cust-b2b-bg);color:var(--cust-b2b);border:1px solid var(--cust-b2b-border)}.cust-avatar-b2c{background:var(--cust-b2c-bg);color:var(--cust-b2c);border:1px solid var(--cust-b2c-border)}.cust-customer-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:1.35}.cust-customer-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px;line-height:1.4}.cust-contact-cell{font-size:var(--font-size-sm);color:var(--color-text)}.cust-contact-cell .cust-contact-sub{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.cust-type-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.cust-badge-b2b{background:var(--cust-b2b-bg);color:var(--cust-b2b);border:1px solid var(--cust-b2b-border)}.cust-badge-b2c{background:var(--cust-b2c-bg);color:var(--cust-b2c);border:1px solid var(--cust-b2c-border)}.cust-status-dot{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.cust-status-dot:before{content:"";width:7px;height:7px;border-radius:50%;flex-shrink:0}.cust-status-active:before{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.2)}.cust-status-inactive:before{background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.2)}.cust-app-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:var(--font-weight-bold);letter-spacing:.03em}.cust-app-badge-pending{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.cust-app-badge-approved{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.cust-app-badge-rejected{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.cust-stat-card.cust-stat-pending:before{background:#ea580c}.cust-review-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4);margin-top:var(--space-2);border-radius:var(--radius-md);background:#fff7ed;border:1px solid #fed7aa}.cust-review-actions .btn{display:inline-flex;align-items:center;gap:var(--space-2)}.cust-review-note{flex-basis:100%;margin:0 0 var(--space-1);font-size:var(--font-size-sm);color:#9a3412}.cust-empty{padding:var(--space-8) var(--space-5);text-align:center}.cust-empty-icon{width:56px;height:56px;margin:0 auto var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.cust-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-2)}.cust-empty-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:36ch;margin:0 auto var(--space-5);line-height:1.6}.cust-empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.cust-onboard-split{display:inline-flex;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.cust-onboard-split .btn{border-radius:0;border:none;box-shadow:none}.cust-onboard-split .btn+.btn{border-left:1px solid var(--color-border)}.cust-detail-section{animation:custFadeIn .22s ease}@keyframes custFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cust-view-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);margin-bottom:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-bg) 0,var(--color-surface) 55%,var(--color-primary-light) 160%)}.cust-view-hero-main{display:flex;align-items:center;gap:var(--space-4);min-width:0}.cust-view-hero .cust-avatar{width:56px;height:56px;font-size:18px;border-radius:var(--radius-lg)}.cust-view-hero-title{font-size:1.35rem;font-weight:var(--font-weight-extrabold);color:var(--color-text);margin:0 0 var(--space-1);line-height:1.25}.cust-view-hero-sub{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.cust-view-hero-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.cust-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.cust-view-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.cust-view-card-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);background:var(--color-bg);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.cust-view-card-body{padding:var(--space-2) var(--space-4) var(--space-4)}.cust-view-card-body .rbac-detail-row{grid-template-columns:120px 1fr;padding:var(--space-2) 0}.cust-view-card-full{grid-column:1/-1}.cust-contact-view-list{margin:0;padding:0;list-style:none}.cust-contact-view-list li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);line-height:1.55}.cust-contact-view-list li:last-child{border-bottom:none;padding-bottom:0}.cust-form-layout{display:flex;flex-direction:column;gap:var(--space-4)}.cust-form-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.cust-form-card-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);background:var(--color-bg)}.cust-form-card-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary);flex-shrink:0}.cust-form-card-title{flex:1 1;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.cust-form-card-body{padding:var(--space-4)}.cust-form-hint{margin:0 0 var(--space-4);font-size:var(--text-sm);line-height:1.5;color:var(--color-text-muted)}.cust-type-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.cust-type-option{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;text-align:left;font-family:var(--font);transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.cust-type-option:hover{border-color:var(--color-border);background:var(--color-bg)}.cust-type-option.active[data-type=b2b]{border-color:var(--cust-b2b);background:var(--cust-b2b-bg);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.cust-type-option.active[data-type=b2c]{border-color:var(--cust-b2c);background:var(--cust-b2c-bg);box-shadow:0 0 0 3px rgba(21,128,61,.12)}.cust-type-option:disabled{opacity:.65;cursor:not-allowed}.cust-type-option-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.cust-type-option-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.45}.cust-address-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.cust-address-block{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border-light)}.cust-address-block-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.cust-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.cust-address-grid .cust-field-full{grid-column:1/-1}.cust-contact-row{padding:var(--space-4);margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.cust-contact-row:last-child{margin-bottom:0}.cust-contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.cust-contact-primary-wrap{display:flex;align-items:flex-end}.cust-form-footer{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-light);background:var(--color-bg);border-radius:0 0 var(--radius-lg) var(--radius-lg);margin:var(--space-4) calc(var(--space-5) * -1) calc(var(--space-5) * -1)}@media (max-width:960px){.cust-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cust-address-columns,.cust-view-grid{grid-template-columns:1fr}}@media (max-width:640px){.cust-stats{grid-template-columns:1fr 1fr}.cust-toolbar,.cust-toolbar-left{flex-direction:column;align-items:stretch}.cust-segment{width:100%;justify-content:stretch}.cust-segment-btn{flex:1 1;text-align:center}.cust-type-picker{grid-template-columns:1fr}.cust-view-hero-main{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.cust-detail-section{animation:none}}.cust-cred-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4) 0 var(--space-1);margin-top:var(--space-2);border-top:1px solid var(--color-border)}.cust-cred-actions .btn{display:inline-flex;align-items:center;gap:var(--space-2)}.cust-badge-warn{display:inline-block;margin-left:var(--space-2);padding:2px var(--space-2);border-radius:999px;font-size:11px;font-weight:600;background:var(--color-warning-bg,#fff4e5);color:var(--color-warning-text,#8a5300)}.cust-credit-summary{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-subtle,#f8fafc);border:1px solid var(--color-border)}.cust-credit-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.cust-credit-summary-item{display:flex;flex-direction:column;gap:var(--space-1)}.cust-credit-summary-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cust-credit-summary-val{font-weight:var(--font-weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cust-credit-summary-highlight .cust-credit-summary-val{color:var(--color-primary)}.cust-credit-overdue-line{margin:0 0 var(--space-3) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-danger-subtle,#fef2f2);border:1px solid var(--color-danger-border,#fecaca);color:var(--color-danger,#b91c1c);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.cust-credit-list-badge,.cust-credit-list-off{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1px solid var(--color-primary-border,#c7d7fe);background:var(--color-primary-bg,#f5f8ff);color:var(--color-primary);cursor:pointer}.cust-credit-list-badge:hover,.cust-credit-list-off:hover{background:var(--color-bg)}.cust-credit-list-badge-readonly{cursor:default}.cust-credit-list-off{border-color:var(--color-border);background:var(--color-bg-subtle,#f8fafc);color:var(--color-text-muted);font-weight:500}@media (max-width:520px){.cust-credit-summary-grid{grid-template-columns:minmax(0,1fr)}}.cust-copy-row{display:flex;gap:var(--space-2)}.cust-copy-row .form-input{flex:1 1;font-family:var(--font-mono,monospace);background:var(--color-bg-subtle,#f8fafc)}.cust-copy-row .btn{flex-shrink:0}.cust-copy-inline{gap:var(--space-2)}.cust-copy-btn,.cust-copy-inline{display:inline-flex;align-items:center}.cust-copy-btn{justify-content:center;width:24px;height:24px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition),border-color var(--transition)}.cust-copy-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.fd-credit-alert{margin:var(--space-4,16px) 0 0;padding:var(--space-3,12px) var(--space-4,16px);border:1px solid var(--color-error-border,#fca5a5);border-left-width:4px;border-radius:var(--radius-md,8px);background:var(--color-error-bg,#fef2f2);color:var(--color-error-text,#991b1b);font-size:.875rem;line-height:1.5}.fd-credit-alert p{margin:0 0 4px}.fd-credit-alert p:last-child{margin-bottom:0}.fd-credit-title{font-weight:600}.fd-credit-figures{font-size:.8125rem;opacity:.85}.cm-pickers{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:end;margin-bottom:var(--space-4)}.cm-pickers .form-group{margin-top:0;position:relative}.cm-parties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-3)}.cm-party{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.cm-party-merged{background:var(--color-primary-lightest)}.cm-party-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.cm-party-name{font-weight:700;margin:2px 0}.cm-party-stats{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;margin-top:6px}.cm-keep{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.cm-table-wrap{overflow-x:auto}.cm-table th[scope=row]{white-space:nowrap;font-weight:600;width:180px}.cm-table td{vertical-align:middle;width:27%}.cm-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.cm-table tr.cm-section td{background:var(--color-bg);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.cm-table tr.cm-diff td,.cm-table tr.cm-diff th{background:#fff8e6}.cm-table .form-input.cm-picked{box-shadow:0 0 0 2px var(--color-primary)}.cm-confirm{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}@media (max-width:900px){.cm-parties,.cm-pickers{grid-template-columns:1fr}}#page-inventory{--inv-accent:#7c3aed;--inv-accent-bg:#f5f3ff}#page-inventory .page-header,.inv-stats{margin-bottom:var(--space-5)}.inv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.inv-stat-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white)}.inv-stat-card.inv-stat-warn{border-color:#fde68a;background:#fffbeb}.inv-stat-card.inv-stat-link{cursor:pointer}.inv-stat-card.inv-stat-link:focus-visible,.inv-stat-card.inv-stat-link:hover{border-color:#f59e0b}.inv-products-count{align-self:center;white-space:nowrap}.inv-stat-label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.inv-stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text)}.inv-subnav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.inv-subnav-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.inv-subnav-btn:hover{background:var(--color-bg)}.inv-subnav-btn.active{border-color:var(--inv-accent);background:var(--inv-accent-bg);color:var(--inv-accent);font-weight:600}.inv-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.inv-toolbar-left{display:flex;flex-wrap:wrap;gap:var(--space-2);flex:1 1;min-width:200px}.inv-search{min-width:220px;max-width:320px}.inv-filter-select{min-width:160px;max-width:220px}.inv-product-cell{display:flex;align-items:center;gap:var(--space-3);min-width:0}#inv-products-table{table-layout:fixed;width:100%}#inv-products-table td,#inv-products-table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#inv-brands-table,#inv-categories-table,#inv-tags-table{table-layout:fixed;width:100%}#inv-brands-table td,#inv-brands-table th,#inv-categories-table td,#inv-categories-table th,#inv-tags-table td,#inv-tags-table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-product-name{display:inline-flex;align-items:center;min-width:0}.inv-product-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.inv-product-name>.inv-variant-badge{flex-shrink:0}#inv-products-table .rbac-row-actions{gap:var(--space-1)}#inv-products-table .rbac-row-actions .btn{padding:7px 12px}.inv-thumb{width:40px;height:40px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--color-border);flex-shrink:0}.inv-thumb-empty{display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg);font-size:18px}.inv-detail-back{margin-bottom:var(--space-4)}.inv-form-layout{display:flex;flex-direction:column;gap:var(--space-4)}.inv-form-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.inv-tag-checkboxes{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.inv-tag-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm)}.inv-gst-preview{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--inv-accent-bg);border:1px solid #ddd6fe;font-size:var(--text-sm);color:var(--color-text)}.inv-gst-tag{display:inline-block;padding:1px 6px;border-radius:var(--radius-sm,4px);background:var(--color-bg);border:1px solid var(--color-border)}.inv-brand-hint,.inv-gst-tag{font-size:var(--text-xs);color:var(--color-text-muted)}.inv-brand-hint{margin:var(--space-2) 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.inv-brand-hint.is-ok{color:#15803d}.inv-brand-hint.is-new{color:#b45309}.inv-upload-zone{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-5) var(--space-4);border:1.5px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text-muted);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.inv-upload-zone.is-dragging,.inv-upload-zone:focus-visible,.inv-upload-zone:hover{border-color:var(--inv-accent);background:var(--inv-accent-bg);color:var(--inv-accent);outline:none}.inv-upload-zone-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.inv-upload-zone.is-dragging .inv-upload-zone-title,.inv-upload-zone:hover .inv-upload-zone-title{color:inherit}.inv-upload-status,.inv-upload-zone-hint{font-size:var(--text-xs)}.inv-upload-status{margin-top:var(--space-2);color:var(--color-text-muted)}.inv-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-3)}.inv-image-empty{grid-column:1/-1;margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.inv-image-card{margin:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);overflow:hidden}.inv-image-card.is-featured{border-color:var(--inv-accent);box-shadow:0 0 0 1px var(--inv-accent)}.inv-image-frame{position:relative;aspect-ratio:4/3;background:var(--color-bg)}.inv-image-frame img{width:100%;height:100%;object-fit:cover;display:block}.inv-image-badge{position:absolute;top:var(--space-2);left:var(--space-2);padding:2px 8px;border-radius:var(--radius-md);background:var(--inv-accent);color:#fff;font-size:var(--text-xs);font-weight:600}.inv-image-meta{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-3)}.inv-image-feature{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer}.inv-image-card.is-featured .inv-image-feature{color:var(--inv-accent);font-weight:600}.inv-image-alt{width:100%;font-size:var(--text-xs)}.inv-image-url-add{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-3)}.inv-image-url-add .form-input{flex:1 1;min-width:0}.inv-single-image-preview{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-3) 0 0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white)}.inv-single-image-frame{width:64px;height:64px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg)}.inv-single-image-frame img{width:100%;height:100%;object-fit:cover;display:block}.inv-single-image-remove{margin-left:auto}.inv-pricing-mode{display:inline-flex;gap:0;margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.inv-segment-btn{padding:var(--space-2) var(--space-4);border:none;background:var(--color-surface);font-family:var(--font);font-size:var(--text-sm);cursor:pointer}.inv-segment-btn.active{background:var(--inv-accent-bg);color:var(--inv-accent);font-weight:600}.inv-pricing-select{min-width:280px;max-width:480px}.inv-pricing-summary{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-md);background:var(--inv-accent-bg);border:1px solid #ddd6fe;font-size:var(--text-sm)}.inv-price-input{max-width:140px}@media (max-width:960px){.inv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-image-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.inv-image-url-add{flex-wrap:wrap}}.inv-variants-table td,.inv-variants-table th{vertical-align:middle}.inv-variants-table td.inv-num,.inv-variants-table th.inv-num,td.inv-num,th.inv-num{text-align:right;white-space:nowrap}.inv-variant-cell{width:100%;min-width:90px;padding:5px 8px;font-size:var(--font-size-sm);font-family:var(--font);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.inv-variant-cell.inv-variant-num{text-align:right;min-width:80px}.inv-variant-cell:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.inv-variant-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3)}.inv-variants-table{min-width:720px}#page-inventory .cust-form-card-body{min-width:0}#page-inventory .rbac-table-wrap{max-width:100%;overflow-x:auto}.inv-variant-badge{display:inline-block;margin-left:var(--space-2);padding:1px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-primary-light);color:var(--color-primary);white-space:nowrap}.inv-stock-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25}.inv-stock-flag{display:inline-block;padding:0 6px;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-semibold);background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border);white-space:nowrap;cursor:help}.inv-stock-cell .badge{padding:0 6px;font-size:10px;line-height:1.5}#inv-product-stock-filter{max-width:270px}.inv-pager{display:flex;gap:var(--space-2);align-items:center;justify-content:flex-end;padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-muted)}.inv-pager:empty{display:none}.inv-view-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.inv-view-header>div{flex:1 1;min-width:0}.inv-view-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.inv-view-thumb{width:72px;height:72px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--color-border);flex-shrink:0;font-size:28px}.inv-view-desc{color:var(--color-text-muted);line-height:1.6;margin:0 0 var(--space-4)}.inv-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 var(--space-6);gap:0 var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-5);margin-bottom:var(--space-4)}.inv-view-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light)}.inv-view-row:nth-last-child(-n+2){border-bottom:none}.inv-view-label{color:var(--color-text-muted)}.inv-view-value{color:var(--color-text);font-weight:var(--font-weight-medium);text-align:right}.inv-view-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.inv-view-subhead{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-3)}@media (max-width:640px){.inv-view-grid{grid-template-columns:1fr}.inv-view-row:nth-last-child(-n+2){border-bottom:1px solid var(--color-border-light)}.inv-view-row:last-child{border-bottom:none}}#page-inventory .inv-readonly{display:block;background:var(--color-bg);border-style:dashed;color:var(--color-text);font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);cursor:default;-webkit-user-select:all;-moz-user-select:all;user-select:all;min-height:calc(var(--font-size-base) * var(--line-height) + 23px)}#page-inventory .inv-readonly-empty{color:var(--color-text-muted);font-family:var(--font);font-style:italic;-webkit-user-select:none;-moz-user-select:none;user-select:none}.inv-cust-picker{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);overflow:hidden}.inv-cust-picker-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--color-border-light);background:var(--color-bg)}.inv-cust-search{flex:1 1;min-width:0;height:32px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);font-family:var(--font);font-size:var(--font-size-sm);color:var(--color-text);outline:none}.inv-cust-search:focus{border-color:var(--color-primary)}.inv-cust-list{max-height:190px;overflow-y:auto}.inv-cust-row{display:flex;align-items:center;gap:var(--space-2);padding:7px var(--space-3);cursor:pointer;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border-light)}.inv-cust-row:last-child{border-bottom:none}.inv-cust-row:hover{background:var(--color-bg-hover)}.inv-cust-row input[type=checkbox]{width:15px;height:15px;margin:0;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.inv-cust-row:has(input:checked){background:var(--color-primary-lightest);font-weight:600}.inv-cust-sub{margin-left:auto;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}.inv-view-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.wh-toggle-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s ease,background .15s ease}.wh-toggle-row:hover{border-color:var(--primary-color,#3b82f6);background:var(--surface-hover,rgba(0,0,0,.02))}.wh-toggle-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.wh-toggle-switch{position:relative;flex:0 0 auto;width:38px;height:22px;margin-top:2px;border-radius:999px;background:var(--border-color,#d1d5db);transition:background .18s ease}.wh-toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .18s ease}.wh-toggle-input:checked+.wh-toggle-switch{background:var(--primary-color,#3b82f6)}.wh-toggle-input:checked+.wh-toggle-switch:after{transform:translateX(16px)}.wh-toggle-input:focus-visible+.wh-toggle-switch{outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.wh-toggle-text{display:flex;flex-direction:column;gap:2px}.wh-toggle-title{font-weight:600;font-size:.9rem;color:var(--text-primary)}.wh-toggle-sub{font-size:.8rem;line-height:1.45;color:var(--text-muted)}.wh-breakdown,.wh-settings-summary{margin-top:var(--space-3)}.wh-breakdown{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.wh-breakdown-totals{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-3);background:var(--surface-subtle,rgba(0,0,0,.02));border-bottom:1px solid var(--border-color);font-size:.85rem;color:var(--text-muted)}.wh-breakdown-totals strong{color:var(--text-primary)}.wh-breakdown .data-table{margin:0}.row-muted{opacity:.68;font-style:italic}.wh-adjust-line,.wh-transfer-line{padding-bottom:var(--space-2);border-bottom:1px dashed var(--border-color);margin-bottom:var(--space-2)}.wh-adjust-line:last-of-type,.wh-transfer-line:last-of-type{border-bottom:none}@media (max-width:640px){.wh-breakdown-totals{gap:var(--space-2);flex-direction:column}.wh-toggle-row{padding:var(--space-2)}}.wh-pane{padding-top:var(--space-5,20px)}.wh-form-head{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.wh-form-title{margin:0;font-size:1.15rem;font-weight:650;color:var(--text-primary)}.wh-form-sub{margin:4px 0 0;font-size:.82rem;line-height:1.5;max-width:68ch;color:var(--text-muted)}.wh-form-head>.btn{flex:0 0 auto;margin-top:2px}.wh-form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-color)}.wh-detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;margin-bottom:var(--space-3);font-size:.85rem;color:var(--text-muted)}.wh-detail-meta strong{color:var(--text-primary)}@media (max-width:640px){.wh-form-actions{flex-direction:column-reverse}.wh-form-actions .btn{width:100%}.wh-detail-meta{flex-direction:column;align-items:flex-start;gap:var(--space-1,4px)}}.empty-state{padding:var(--space-6,32px) var(--space-4,16px);text-align:center;color:var(--color-text-muted,#6b7280);font-size:.875rem;background:var(--color-surface-subtle,#fafafa);border:1px dashed var(--color-border-light,#e5e7eb);border-radius:var(--radius-md,8px)}#wh-pane-reports .tabs{border-bottom:1px solid var(--color-border-light,#e5e7eb)}#wh-pane-reports .rbac-table-wrap{overflow-x:auto}.wh-tl-sources{display:flex;flex-wrap:wrap;gap:var(--space-3,12px);margin-bottom:var(--space-4,16px);padding-bottom:var(--space-3,12px);border-bottom:1px solid var(--color-border-light,#e5e7eb)}.wh-tl-source{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--color-text-muted,#6b7280);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wh-timeline{list-style:none;margin:0;padding:0 0 0 var(--space-4,16px);border-left:2px solid var(--color-border-light,#e5e7eb)}.wh-tl-day{margin:var(--space-4,16px) 0 var(--space-2,8px) calc(-1 * var(--space-4, 16px) - 2px);padding-left:calc(var(--space-4, 16px) + 2px);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted,#6b7280);background:var(--color-bg,#fff)}.wh-timeline>.wh-tl-day:first-child{margin-top:0}.wh-tl-item{position:relative;display:flex;gap:var(--space-3,12px);padding:var(--space-2,8px) 0 var(--space-2,8px) var(--space-3,12px)}.wh-tl-dot{position:absolute;left:calc(-1 * var(--space-4, 16px) - 5px);top:14px;width:8px;height:8px;border-radius:50%;background:var(--color-border,#d1d5db);box-shadow:0 0 0 3px var(--color-bg,#fff)}.wh-tl-notice .wh-tl-dot{background:var(--color-info-text,#2563eb)}.wh-tl-warning .wh-tl-dot{background:var(--color-warning-text,#b45309)}.wh-tl-summary{font-size:.875rem;color:var(--color-text,#111827);line-height:1.45}.wh-tl-warning .wh-tl-summary{font-weight:600}.wh-tl-meta{margin-top:2px;font-size:.75rem;color:var(--color-text-muted,#6b7280);display:flex;flex-wrap:wrap;align-items:center;gap:4px}@media (max-width:640px){.wh-tl-item{padding-left:var(--space-2,8px)}.wh-tl-meta{gap:2px 6px}}#page-warehouses .wh-btn-count{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:10px;font-weight:var(--font-weight-bold);line-height:16px;text-align:center;pointer-events:none}#page-warehouses .btn-icon{position:relative;overflow:visible}#page-warehouses .rbac-row-actions{display:inline-flex;gap:var(--space-2);align-items:center;justify-content:flex-end}#page-warehouses .btn svg{flex-shrink:0}#page-warehouses .wh-form-head{display:flex;align-items:center;gap:var(--space-3)}#page-warehouses .rbac-table-wrap{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}#page-warehouses .rbac-table-wrap .table tr:last-child td{border-bottom:none}#page-warehouses .wh-form-head{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.wh-segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;margin-bottom:var(--space-5);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:100%}.wh-seg{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--transition),color var(--transition)}.wh-seg svg{flex-shrink:0;opacity:.75}.wh-seg:hover:not(.active){background:var(--color-bg-hover);color:var(--color-text)}.wh-seg:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.wh-seg.active{background:var(--color-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-sm)}.wh-seg.active svg{opacity:1}@media (max-width:560px){.wh-segmented{display:flex;width:100%}.wh-seg{flex:1 1 auto;justify-content:center;padding:9px 10px}.wh-seg span{display:none}}.sa-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-3) 0 var(--space-4)}.sa-cards .acc-stat-value{font-size:1.1rem;overflow-wrap:anywhere}.sa-card-red .acc-stat-value{color:var(--color-error-text,#dc2626)}.sa-card-orange .acc-stat-value{color:var(--color-warning-text,#b45309)}.sa-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.sa-progress{width:120px;height:6px;border-radius:999px;background:var(--color-border-light,#e5e7eb);overflow:hidden}.sa-progress>span{display:block;height:100%;background:var(--color-primary)}.sa-progress-lg{width:min(360px,100%);height:8px;margin-bottom:4px}.sa-count-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.sa-count-wrap{overflow-x:auto}.sa-count-wrap .sa-qty{width:96px;text-align:right;font-size:1rem}#sa-tab-body .sa-reason,.sa-count-wrap .sa-flag{min-width:130px}#sa-tab-body .sa-reason-note,.sa-count-wrap .sa-note{margin-top:4px;min-width:130px}.sa-final-pick{display:inline-flex;gap:4px;margin-left:6px}.sa-neg{color:var(--color-error-text,#dc2626)}.sa-pos{color:var(--color-success-text,#15803d)}.sa-tabs{margin-top:var(--space-2)}@media (max-width:640px){.sa-count-wrap .sa-qty{width:80px}}.sa-pick{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-md,8px);background:var(--color-white,#fff);overflow:hidden}.sa-pick .sa-pick-search{border:0;border-bottom:1px solid var(--color-border-light,#e5e7eb);border-radius:0}.sa-pick-list{max-height:220px;overflow-y:auto;padding:4px 0}.sa-pick-item{display:flex;align-items:flex-start;gap:8px;padding:6px 12px;font-size:.85rem;line-height:1.35;cursor:pointer}.sa-pick-item:hover{background:var(--color-surface-subtle,#fafafa)}.sa-pick-item input{margin-top:2px;flex-shrink:0}.sa-pick-empty{padding:10px 12px}.sa-pick-meta{display:flex;justify-content:space-between;align-items:center;padding:4px 8px 4px 12px;font-size:.8rem;color:var(--color-text-muted,#6b7280);border-top:1px solid var(--color-border-light,#e5e7eb)}.sa-scope-block{margin-top:var(--space-4,16px)}.sa-scope-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:var(--space-2,8px)}.sa-scope-head .form-label{margin:0}.sa-chips{display:flex;flex-wrap:wrap;gap:8px}.sa-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--color-border,#e5e7eb);background:var(--color-white,#fff);color:var(--color-text,#111827);font-size:.82rem;line-height:1.2;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sa-chip.on,.sa-chip:hover{border-color:var(--color-primary)}.sa-chip.on{background:var(--color-primary);color:#fff}.sa-chip.on:before{content:"✓ "}.sa-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sa-search-wrap{position:relative;max-width:640px}.sa-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:320px;overflow-y:auto;background:var(--color-white,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-md,8px);box-shadow:0 10px 24px rgba(0,0,0,.08)}.sa-result{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;border:0;background:transparent;text-align:left;cursor:pointer}.sa-result+.sa-result{border-top:1px solid var(--color-border-light,#f1f1f1)}.sa-result.active,.sa-result:hover{background:var(--color-surface-subtle,#f6f5ff)}.sa-result.added{opacity:.6}.sa-result-main{display:flex;flex-direction:column;gap:2px;min-width:0}.sa-result-main strong{font-size:.85rem;font-weight:600}.sa-result-side{flex-shrink:0}.sa-result-empty{padding:12px}.sa-selected-head{display:flex;justify-content:space-between;align-items:center;margin:var(--space-3,12px) 0 var(--space-2,8px);font-size:.85rem}.sa-selected{max-height:320px;overflow-y:auto}.sa-selected-empty{margin-top:var(--space-2,8px);padding:12px;border:1px dashed var(--color-border-light,#e5e7eb);border-radius:var(--radius-md,8px);text-align:center}#sa-scope-summary{margin-top:var(--space-4,16px);margin-bottom:0}#page-warehouses .sa-selected{overflow-x:hidden}#page-warehouses .sa-selected .rbac-table{min-width:0;width:100%}.loc-find-box{max-width:760px;margin-bottom:var(--space-4,16px)}.loc-find-input{font-size:1.05rem;padding:14px 16px;margin-bottom:6px}.loc-card{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-md,8px);background:var(--color-white,#fff);margin-bottom:var(--space-3,12px);overflow:hidden}.loc-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 16px;border-bottom:1px solid var(--color-border-light,#f1f1f1)}.loc-card-title{font-weight:650;font-size:1rem}.loc-card-totals{display:flex;gap:16px;font-size:.85rem;color:var(--color-text-muted,#6b7280)}.loc-card-totals strong{color:var(--color-text,#111827);font-size:1rem}.loc-wh{padding:8px 16px 12px}.loc-wh+.loc-wh{border-top:1px dashed var(--color-border-light,#eee)}.loc-wh-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 6px}.loc-bin-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border:0;border-radius:6px;background:transparent;text-align:left;font:inherit;cursor:pointer}button.loc-bin-row:hover{background:var(--color-surface-subtle,#f6f5ff)}.loc-bin-path{font-size:.95rem}.loc-sep{color:var(--color-text-muted,#9ca3af);padding:0 2px}.loc-bin-qty{font-size:1.05rem;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.loc-unalloc{cursor:default;color:var(--color-text-muted,#6b7280)}.loc-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3,12px);margin-bottom:var(--space-3,12px)}.loc-toolbar .form-group{margin:0;min-width:220px}.loc-toolbar-tabs{margin:0}.loc-tree-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:var(--space-3,12px)}.loc-tree{list-style:none;margin:0;padding:0}.loc-tree .loc-tree{margin-left:14px;padding-left:12px;border-left:1px solid var(--color-border-light,#e5e7eb)}.loc-node-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px}.loc-node-row:hover{background:var(--color-surface-subtle,#fafafa)}.loc-twisty{width:20px;flex-shrink:0;color:var(--color-text-muted,#6b7280)}.loc-node-name,.loc-twisty{border:0;background:transparent;cursor:pointer}.loc-node-name{font:inherit;text-align:left;padding:0}.loc-node-name:hover strong{text-decoration:underline}.loc-node-qty{margin-left:auto;font-size:.85rem;font-weight:600;white-space:nowrap}.loc-node-actions{display:inline-flex;gap:4px}.loc-level{text-transform:capitalize}.loc-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--space-3,12px)}.loc-inline{padding:12px;background:var(--color-surface-subtle,#fafafa);border-radius:var(--radius-md,8px)}.loc-qty{width:100px;text-align:right}.loc-hit td{background:var(--color-surface-subtle,#f6f5ff)}.loc-link{border:0;background:transparent;cursor:pointer;font:inherit;text-align:left;padding:0;color:var(--color-primary)}.loc-pick{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:6px;font-size:.8rem;background:var(--color-surface-subtle,#f6f5ff)}.loc-product{margin-top:var(--space-4,16px)}