.ptxc-root{--ptxc-primary:#6d28d9;--ptxc-primary-dark:#5b21b6;--ptxc-accent:#f5c451;--ptxc-border:#e7e3f3;--ptxc-bg:#f8f7fc;--ptxc-text:#1f2130;--ptxc-muted:#6b7280;--ptxc-danger:#dc2626;--ptxc-success:#16a34a;--ptxc-radius:14px;--ptxc-radius-sm:10px;font-family:inherit;color:var(--ptxc-text);}
.ptxc-root *{box-sizing:border-box;}
.ptxc-empty-state{padding:40px;text-align:center;color:var(--ptxc-muted);}

/* ---- Toolbar & tabs (segmented, premium pill style) ---- */
.ptxc-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px;}
.ptxc-tabs{display:flex;gap:4px;background:#efedf9;padding:5px;border-radius:999px;margin-bottom:20px;flex-wrap:wrap;width:fit-content;}
.ptxc-tab{padding:9px 18px;border:none;background:none;cursor:pointer;font-weight:600;color:var(--ptxc-muted);border-radius:999px;font-size:13px;transition:background .15s,color .15s;}
.ptxc-tab.is-active{color:#fff;background:var(--ptxc-primary);box-shadow:0 2px 8px rgba(109,40,217,.35);}

/* ---- Buttons: clear, readable, premium ---- */
.ptxc-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:var(--ptxc-radius-sm);border:1px solid var(--ptxc-accent);background:var(--ptxc-accent);color:#181321;font-weight:700;cursor:pointer;font-size:13.5px;line-height:1.2;transition:filter .15s,box-shadow .15s;}
.ptxc-btn:hover{filter:brightness(0.96);box-shadow:0 2px 10px rgba(245,196,81,.45);}
.ptxc-btn.ptxc-btn-outline{background:#fff;color:#181321;border-color:var(--ptxc-border);}
.ptxc-btn.ptxc-btn-outline:hover{border-color:var(--ptxc-primary);box-shadow:none;}
.ptxc-btn.ptxc-btn-danger{background:var(--ptxc-danger);border-color:var(--ptxc-danger);color:#fff;}
.ptxc-btn.ptxc-btn-muted{background:#fff;color:#181321;border-color:var(--ptxc-border);}
.ptxc-btn:disabled{opacity:.5;cursor:not-allowed;}
.ptxc-btn-sm{padding:6px 12px;font-size:12px;border-radius:8px;}

/* ---- Inputs / selects / textareas: well padded, curved ---- */
.ptxc-search-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ptxc-input,.ptxc-select,textarea.ptxc-input{padding:11px 13px;border:1.5px solid var(--ptxc-border);border-radius:var(--ptxc-radius-sm);font-size:13.5px;background:#fff;color:var(--ptxc-text);width:100%;transition:border-color .15s,box-shadow .15s;}
.ptxc-input:focus,.ptxc-select:focus,textarea.ptxc-input:focus{outline:none;border-color:var(--ptxc-primary);box-shadow:0 0 0 3px rgba(109,40,217,.12);}
textarea.ptxc-input{min-height:96px;line-height:1.5;resize:vertical;}
.ptxc-field textarea{padding:12px 14px !important;min-height:88px !important;border:1.5px solid var(--ptxc-border) !important;border-radius:var(--ptxc-radius-sm) !important;width:100% !important;font-size:13.5px !important;line-height:1.5 !important;background:#fff !important;color:var(--ptxc-text) !important;display:block !important;box-sizing:border-box !important;font-family:inherit !important;}
.ptxc-field textarea:focus{outline:none !important;border-color:var(--ptxc-primary) !important;box-shadow:0 0 0 3px rgba(109,40,217,.12) !important;}

/* ---- Table ---- */
.ptxc-table-wrap{overflow-x:auto;border:1px solid var(--ptxc-border);border-radius:var(--ptxc-radius);background:#fff;}
table.ptxc-table{width:100%;border-collapse:collapse;font-size:13px;}
table.ptxc-table th,table.ptxc-table td{padding:12px 14px;border-bottom:1px solid var(--ptxc-border);text-align:left;white-space:nowrap;}
table.ptxc-table th{background:var(--ptxc-bg);font-weight:700;}
table.ptxc-table tr:hover td{background:#faf9ff;cursor:pointer;}
.ptxc-thumb{width:38px;height:38px;border-radius:9px;object-fit:cover;background:#eee;}
.ptxc-badge{display:inline-block;padding:3px 11px;border-radius:20px;font-size:11px;font-weight:700;}
.ptxc-badge-active{background:#dcfce7;color:#166534;}
.ptxc-badge-inactive{background:#fee2e2;color:#991b1b;}
.ptxc-badge-in-stock{background:#dbeafe;color:#1e40af;}
.ptxc-badge-out-of-stock{background:#fee2e2;color:#991b1b;}
.ptxc-badge-not-tracked{background:#f3f4f6;color:#4b5563;}
.ptxc-pagination{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:14px;font-size:13px;}

/* ---- Modal: luxury, well padded, curved ---- */
.ptxc-modal-overlay{position:fixed;inset:0;background:rgba(12,8,28,.65);display:flex;align-items:flex-start;justify-content:center;z-index:100000;padding:34px 16px;overflow:auto;}
.ptxc-modal{background:#fff;border-radius:22px;max-width:940px;width:100%;padding:0;box-shadow:0 30px 90px rgba(15,8,40,.45);overflow:hidden;border:1px solid #efe9d8;}
.ptxc-modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;background:linear-gradient(135deg,#1f1730,#2c1f45);position:relative;}
.ptxc-modal-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--ptxc-accent),#f0d98a,var(--ptxc-accent));}
.ptxc-modal-head h3{margin:0;font-size:19px;font-weight:700;color:#fff;letter-spacing:.2px;}
.ptxc-modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:#fff;line-height:1;}
.ptxc-modal-cancel-top{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:700;font-size:12.5px;padding:7px 16px;border-radius:999px;cursor:pointer;}
.ptxc-modal-cancel-top:hover{background:rgba(255,255,255,.2);}
.ptxc-modal-body{padding:28px 30px;max-height:66vh;overflow-y:auto;}
.ptxc-modal-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 28px;border-top:1px solid var(--ptxc-border);background:#fbfaff;}
.ptxc-modal-foot .ptxc-foot-right{display:flex;gap:10px;margin-left:auto;}

.ptxc-choice-row{display:flex;gap:16px;padding:22px 0 6px;}
.ptxc-choice-card{flex:1;border:2px dashed var(--ptxc-border);border-radius:var(--ptxc-radius);padding:30px 20px;text-align:center;cursor:pointer;font-weight:700;font-size:14px;transition:border-color .15s,background .15s;}
.ptxc-choice-card:hover{border-color:var(--ptxc-primary);color:var(--ptxc-primary);background:#faf9ff;}

/* ---- Fieldsets / field grid ---- */
.ptxc-fieldset{border:1.5px solid var(--ptxc-border);border-radius:var(--ptxc-radius);padding:20px 22px;margin-bottom:18px;background:#fdfdff;box-shadow:0 1px 2px rgba(20,10,50,.03);}
.ptxc-fieldset legend{padding:3px 12px;font-weight:700;color:var(--ptxc-primary);font-size:12.5px;background:#f1ecfc;border-radius:999px;letter-spacing:.2px;}
.ptxc-field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.ptxc-field{display:flex;flex-direction:column;gap:6px;}
.ptxc-field label{font-size:12px;font-weight:600;color:var(--ptxc-muted);}
.ptxc-field-full{grid-column:1/-1;}

.ptxc-tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.ptxc-detail-tabs{display:flex;gap:6px;border-bottom:1px solid var(--ptxc-border);margin-bottom:16px;}
.ptxc-detail-tab{padding:8px 16px;border:none;background:#f3f2fa;border-radius:10px 10px 0 0;cursor:pointer;font-weight:600;font-size:12px;color:var(--ptxc-muted);}
.ptxc-detail-tab.is-active{background:var(--ptxc-primary);color:#fff;}
.ptxc-variation-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr .8fr auto;gap:10px;align-items:center;margin-bottom:10px;}
.ptxc-alert{padding:12px 16px;border-radius:var(--ptxc-radius-sm);font-size:13px;margin-bottom:14px;}
.ptxc-alert-error{background:#fee2e2;color:#991b1b;}
.ptxc-alert-success{background:#dcfce7;color:#166534;}
.ptxc-muted{color:var(--ptxc-muted);font-size:12px;}
.ptxc-checkbox-row{display:flex;align-items:center;gap:8px;}
.ptxc-checkbox-row input[type="checkbox"]{width:17px;height:17px;accent-color:var(--ptxc-primary);}
.ptxc-category-tree ul{list-style:none;margin:0;padding-left:22px;}
.ptxc-category-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1.5px solid var(--ptxc-border);border-radius:var(--ptxc-radius-sm);margin-bottom:8px;background:#fff;}
.ptxc-cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ptxc-image-field{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1.5px dashed var(--ptxc-border);border-radius:var(--ptxc-radius-sm);padding:10px 12px;background:#fbfaff;}
.ptxc-image-field .ptxc-input{flex:1;min-width:120px;border-style:none;background:transparent;padding:2px 4px;}
.ptxc-image-field .ptxc-input:focus{box-shadow:none;}
.ptxc-image-preview{width:38px;height:38px;object-fit:cover;border-radius:9px;border:1.5px solid var(--ptxc-border);}
.ptxc-upload-progress{font-size:11.5px;font-weight:700;color:var(--ptxc-primary);white-space:nowrap;}

/* ---- Toggle switches (Apply to All / Compound Tax style) ---- */
.ptxc-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;}
.ptxc-switch input{opacity:0;width:0;height:0;}
.ptxc-switch .ptxc-slider{position:absolute;cursor:pointer;inset:0;background:var(--ptxc-danger);border-radius:999px;transition:.15s;}
.ptxc-switch .ptxc-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.ptxc-switch input:checked + .ptxc-slider{background:var(--ptxc-success);}
.ptxc-switch input:checked + .ptxc-slider:before{transform:translateX(18px);}
.ptxc-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;}

/* ---- Wizard stepper (Add Product / Add Service) ---- */
.ptxc-wizard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.ptxc-wizard-count{font-size:11.5px;font-weight:700;color:var(--ptxc-muted);letter-spacing:.3px;text-transform:uppercase;}
.ptxc-wizard-steps{display:flex;align-items:center;gap:0;margin-bottom:22px;}
.ptxc-wizard-step{display:flex;align-items:center;gap:8px;flex:1;position:relative;}
.ptxc-wizard-step .ptxc-wizard-dot{width:28px;height:28px;border-radius:50%;background:#efedf9;color:var(--ptxc-muted);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;border:2px solid #efedf9;transition:.15s;}
.ptxc-wizard-step .ptxc-wizard-label{font-size:11.5px;font-weight:600;color:var(--ptxc-muted);white-space:nowrap;display:none;}
.ptxc-wizard-step:after{content:"";flex:1;height:2px;background:#efedf9;margin:0 4px;}
.ptxc-wizard-step:last-child:after{display:none;}
.ptxc-wizard-step.is-active .ptxc-wizard-dot{background:var(--ptxc-accent);border-color:var(--ptxc-accent);color:#181321;}
.ptxc-wizard-step.is-active .ptxc-wizard-label{color:var(--ptxc-text);}
.ptxc-wizard-step.is-done .ptxc-wizard-dot{background:var(--ptxc-success);border-color:var(--ptxc-success);color:#fff;}
.ptxc-wizard-step.is-done:after{background:var(--ptxc-success);}
@media (min-width:700px){.ptxc-wizard-step .ptxc-wizard-label{display:block;}}

/* ---- Quick add category / subcategory ---- */
.ptxc-quick-add-row{display:flex;gap:8px;align-items:center;margin-top:6px;}
.ptxc-quick-add-link{background:none;border:none;color:var(--ptxc-primary);font-weight:700;font-size:12px;cursor:pointer;padding:0;}
.ptxc-quick-add-form{display:none;gap:8px;margin-top:8px;padding:10px;border:1.5px dashed var(--ptxc-border);border-radius:var(--ptxc-radius-sm);background:#fbfaff;}
.ptxc-quick-add-form.is-open{display:flex;}
