@media screen {
  :root{--muted:#747885;--ui-radius:10px}
  button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
  button:disabled{opacity:.55;cursor:wait;transform:none}
  a,button{touch-action:manipulation}
  .ui-button,.primary,.outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:9px;font-size:13px;font-weight:500;line-height:1.5;text-decoration:none;padding:11px 16px;white-space:normal}
  .ui-button svg{height:18px;width:18px;flex-shrink:0}
  .ui-button{border:1px solid transparent;font-family:inherit;cursor:pointer}
  .ui-primary,.ui-danger{background:#df303c;color:#fff}.ui-secondary{background:#fff;border-color:#e3e5eb;color:#545967}
  .ui-quiet{background:transparent;color:#747885;border-color:transparent}
  .ui-button:hover{transform:none;background-color:#f4f5f8}.ui-primary:hover,.ui-danger:hover{background:#c92532}
  .site-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 36px;min-height:84px;height:auto;background:#fff;border-bottom:1px solid #e9ebf0}
  .topbar-context{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
  .topbar-breadcrumb{display:flex;align-items:center;gap:9px;font-size:11px;color:#9398a4}
  .topbar-breadcrumb a{color:#747885;text-decoration:none}.topbar-breadcrumb span[aria-hidden]{color:#c7cbd4}
  .topbar-current{font-size:14px;font-weight:700;color:#313744;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:500px}
  .topbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
  .topbar-save{display:flex;align-items:center;gap:10px;padding-left:18px;margin-left:8px;border-left:1px solid #eceef2}
  .topbar-save .save-state{font-size:11px;color:#687d70;max-width:210px;line-height:1.8}
  .topbar-save[data-state="pending"] .save-state{color:#a07823}.topbar-save[data-state="error"] .save-state{color:#c32b38}
  .topbar-save #saveNow{font-size:11px;padding:8px 10px;min-height:36px}
  .topbar-save[data-state="saved"] #saveNow{display:none}
  .logout-form{margin:0;display:flex}
  .logout-form .ui-quiet{padding:10px;color:#7d5360}
  .site-confirm{width:min(420px,calc(100vw - 32px));border:1px solid #eceef2;border-radius:20px;padding:28px;max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 24px 100px #20253035;text-align:right}
  .site-confirm::backdrop{background:#171c2d65;backdrop-filter:blur(4px)}
  .confirm-symbol{width:48px;height:48px;background:#fff0f1;color:#d32b3a;display:grid;place-items:center;border-radius:14px;font-size:26px;font-weight:700;margin-bottom:18px}
  .site-confirm h2{font-size:19px;margin:0 0 12px;line-height:1.7}.site-confirm p{font-size:14px;color:#737987;line-height:2;margin:0;overflow-wrap:anywhere}
  .confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.confirm-actions button{min-width:110px}
  .ui-notifications{position:fixed;bottom:24px;left:24px;z-index:100;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}
  .ui-notice{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid #e5e8ed;border-right:4px solid #df303c;border-radius:12px;box-shadow:0 8px 32px #20253018;color:#4d5360;font-size:13px;line-height:1.9;pointer-events:auto;overflow-wrap:anywhere}
  .ui-notice.success{border-right-color:#3a9360}.ui-notice.error{border-right-color:#dc303f;background:#fffafb}.ui-notice span{flex:1}.ui-notice button{padding:0;min-height:36px;min-width:32px;background:transparent;font-size:23px;color:#7c8290}
  .field-error{display:block;color:#c12938!important;font-size:11px!important;line-height:1.8;margin-top:6px}
  [aria-invalid="true"]{border-color:#dc303f!important;box-shadow:0 0 0 2px #dc303f0b}
  dialog{scrollbar-width:thin}dialog[open]{animation:dialog-enter .16s ease-out}
  body:has(dialog[open]){overflow:hidden}
  .panel-heading h2{font-size:16px}.panel-heading p{font-size:12px;color:#8b909b}
  .products .product-cell strong{font-size:13px}.products .product-cell small{font-size:11px}.products .price{font-size:14px}
  .settings label{font-size:12px}.hint{font-size:10px;color:#828895;line-height:1.9}
  .actions button{background:#f7f8fa;margin:2px;border:1px solid #eceef2;border-radius:8px;color:#737987;font-size:19px}
  .actions button:last-child{background:#fff4f5;color:#d32b3a;border-color:#fbe2e5}
  .settings .catalog-date legend{font-size:12px}
  .list-header .logout-form .ui-button{font-size:13px}
  #newError:empty{display:none}
}
@keyframes dialog-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media screen and (max-width:1250px){.site-topbar{padding:16px 24px;gap:18px}.topbar-actions{gap:8px}.topbar-save{padding-left:12px;margin-left:0}.topbar-save .save-state{max-width:160px;font-size:10px}.topbar-current{max-width:270px}.topbar-actions>.ui-button{font-size:12px;padding-inline:12px}}
@media screen and (max-width:950px){.site-topbar{flex-wrap:wrap}.topbar-context{flex-basis:100%}.topbar-actions{width:100%}.topbar-save{flex:1;border:0;margin:0;padding:0}.topbar-save .save-state{max-width:none;font-size:11px}.topbar-current{max-width:none}.site-topbar .topbar-actions .ui-button{font-size:12px}}
@media screen and (max-width:600px){
  .site-topbar{padding:16px;gap:14px;min-height:0}
  .topbar-context{gap:5px}.topbar-current{font-size:15px}.topbar-breadcrumb{font-size:10px}
  .topbar-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .topbar-save{grid-column:1/-1;order:3;padding-top:10px;border-top:1px solid #f0f1f4;justify-content:space-between}
  .topbar-save .save-state{display:block!important;width:auto;font-size:11px}
  .topbar-actions>.ui-button{justify-content:flex-start;padding:9px 12px;min-height:42px}
  .logout-form .ui-button{font-size:12px;min-height:42px}
  .site-confirm{padding:24px 20px;border-radius:18px}.site-confirm h2{font-size:18px}.site-confirm p{font-size:13px}
  .confirm-actions{display:grid;grid-template-columns:1fr 1fr}.confirm-actions button{min-width:0;font-size:14px;min-height:46px}
  .ui-notifications{left:16px;bottom:calc(86px + env(safe-area-inset-bottom));width:calc(100vw - 32px)}
  body:has(.lists-workspace) .ui-notifications,body:has(.login-card) .ui-notifications,dialog .ui-notifications{bottom:calc(16px + env(safe-area-inset-bottom))}
  .products .product-cell strong{font-size:14px}.products .price{font-size:16px}
  .settings label,.catalog-date legend{font-size:13px}.settings input,.settings textarea,form input,form textarea{font-size:16px}
  .primary,.outline,.ui-button{min-height:44px}.dialog-actions button{min-height:48px}
  .date-selects{grid-template-columns:60px minmax(0,1fr) 82px}.date-selects select{padding-inline:3px}
}
@media screen and (max-width:360px){.workspace{padding-inline:12px}.stats{gap:6px}.stats small{font-size:9px}.stats article{padding:10px 7px}.panel-heading{gap:8px}.panel-heading .primary{padding-inline:10px;font-size:11px}.settings>label,.catalog-date{margin-inline:16px}.site-topbar{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){dialog[open]{animation:none}}
@media print{.site-confirm,.ui-notifications{display:none!important}}

@media screen{.list-card>a.primary{display:flex;width:100%}.list-header form{margin:0}.search input::placeholder{color:#969ba6}.settings input,.settings textarea{color:#454c59}}

@media screen{.login-card .password-wrap input{padding-left:54px}.login-card .password-wrap #toggle{display:grid;place-items:center;position:absolute;left:3px;top:3px;width:44px;height:44px;min-height:44px;padding:10px;border-radius:7px;color:#7d8490}.password-wrap #toggle svg{height:21px;width:21px}.password-wrap #toggle:hover{background:#f1f2f5}.password-wrap #toggle .eye-closed{display:none}.password-wrap #toggle[aria-pressed="true"] .eye-open{display:none}.password-wrap #toggle[aria-pressed="true"] .eye-closed{display:block}.login-card .password-wrap #toggle:focus-visible{outline:2px solid #df303c;outline-offset:-3px}}

@media screen{
.image-upload{border:1px dashed #d8dce5;border-radius:12px;padding:18px;margin:18px 0 8px;background:#fafbfc;outline-offset:3px}.image-upload:focus-within,.image-upload:focus{border-color:#df303c;outline:2px solid #df303c20}.image-upload-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.image-upload-heading strong{font-size:13px;color:#505766}.image-upload-heading span,.image-upload>small{font-size:10px;color:#8c93a0}.image-upload p{font-size:12px;color:#7b8391;line-height:2;margin:10px 0 14px}.image-upload-actions{display:flex;gap:8px;flex-wrap:wrap}.image-upload-actions .ui-button{font-size:12px;flex:1;min-width:120px}.image-upload .file-select{position:relative;overflow:hidden;margin:0;cursor:pointer}.file-select input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.image-upload>small{display:block;margin-top:12px;line-height:2}.image-upload #imageStatus{display:block;font-size:11px;color:#687d70;line-height:2}.image-upload #imagePreview{max-height:160px;max-width:100%;object-fit:contain;margin:12px auto 0;border-radius:8px}.image-upload #imagePreview:not([hidden]){display:block}
}@media screen and (max-width:400px){.image-upload{padding:14px}.image-upload-actions{flex-direction:column}.image-upload-actions .ui-button{width:100%;flex:none;min-height:44px}}

/* Full images in square frames: no cropping in the editor or printed catalog. */
.product-cell img,.product-cell .placeholder{width:96px;height:96px;aspect-ratio:1;object-fit:contain;padding:6px;background:#fff;border:1px solid #e9ecf1;border-radius:12px;flex-shrink:0}
#catalog .product-cell img,#catalog .product-cell .placeholder{width:88px;height:88px;object-fit:contain;aspect-ratio:1;padding:5px;background:white;border:1px solid #e9ecf1;border-radius:9px;flex-shrink:0}
@media screen{
.products .product-cell{gap:18px}.products .product-cell strong{font-size:14px;line-height:1.8}.product-cell>div{min-width:0}.price-hint{display:block;font-size:10px;color:#949ba7;margin-top:7px;line-height:1.8}#productPrice{text-align:left;font-variant-numeric:tabular-nums;font-size:17px;letter-spacing:.4px}
.image-upload{position:relative;border:1.5px dashed #dbe0e9;background:linear-gradient(145deg,#fafbfe,#fff);padding:24px;text-align:center;border-radius:16px;transition:background .15s,border-color .15s}.image-upload.drag-over{border-color:#df303c;background:#fff0f2}.image-upload[aria-busy="true"]{opacity:.7}.upload-visual{display:grid;place-items:center;width:54px;height:54px;background:#fff0f2;color:#db3442;border:1px solid #ffe0e4;border-radius:16px;margin:0 auto 16px}.upload-visual svg{width:28px;height:28px}.image-upload-heading{justify-content:center;flex-wrap:wrap;gap:8px}.image-upload-heading strong{font-size:15px;color:#3e4654}.image-upload-heading span{display:none}.image-upload p{max-width:310px;margin:10px auto 17px;font-size:12px;line-height:2}.image-upload-actions{justify-content:center;gap:10px}.image-upload-actions .ui-button{min-height:44px;max-width:180px;background:#fff;border:1px solid #e4e8ef;box-shadow:0 2px 3px #22334403}.image-upload-actions .ui-button:hover{border-color:#df8b94;background:#fff7f8}.image-upload>small{font-size:10px}.image-upload #imagePreview{width:180px;height:180px;aspect-ratio:1;max-height:none;object-fit:contain;padding:8px;background:#fff;border:1px solid #e5e8ee;border-radius:12px;margin-top:18px}.image-upload:has(#imagePreview:not([hidden])) .upload-visual{display:none}.image-upload .file-select:focus-within{outline:2px solid #df303c;outline-offset:3px}
}
@media screen and (max-width:600px){.products .product-cell img,.products .product-cell .placeholder{width:104px;height:104px}.products .product-cell{gap:14px}#catalog .product-cell img,#catalog .product-cell .placeholder{width:84px;height:84px}#catalog .product-cell{align-items:flex-start}.image-upload{padding:20px 16px}.image-upload-actions .ui-button{max-width:none}.image-upload #imagePreview{width:160px;height:160px}.image-upload p{font-size:12px}}
@media print{#catalog .product-cell img,#catalog .product-cell .placeholder{width:96px;height:96px;object-fit:contain}#catalog .product-cell{min-width:0}#catalog tr{break-inside:avoid}}

@media screen{.price-editor{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:14px;margin:16px 0}.price-editor>label{min-width:0}.optional{font-size:10px;color:#9299a5;font-weight:400}.percent-field{position:relative}.percent-field input{padding-right:12px;padding-left:35px;font-size:17px;text-align:left}.percent-field>span{position:absolute;left:12px;top:11px;color:#9299a5}.price-result{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background:#fff5f6;border:1px solid #f9e0e3;border-radius:10px;padding:14px;font-size:12px;color:#7f656b}.price-result strong{font-size:16px;color:#bf2838}.price-result>small{flex-basis:100%;font-size:10px;color:#a0848a;line-height:1.9}}@media screen and (max-width:380px){.price-editor{grid-template-columns:minmax(0,1fr) 100px;gap:10px}.price-editor label{font-size:12px}.price-result strong{font-size:14px}}

/* Compact percentage control with a separate, fixed suffix. */
@media screen{
.price-editor{grid-template-columns:minmax(0,1fr) 142px;align-items:start;gap:16px}
.price-editor>label{font-size:12px;line-height:20px}
.increase-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;white-space:nowrap}
.increase-caption .optional{font-size:9px;line-height:16px;color:#989fac;font-weight:400}
.percent-field{display:flex;align-items:stretch;direction:ltr;margin-top:7px;height:48px;background:#fff;border:1px solid #e1e5ed;border-radius:9px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.percent-field input{flex:1;min-width:0;width:0;height:46px;min-height:0;margin:0;border:0!important;border-radius:0;padding:0 12px!important;text-align:left;direction:ltr;font-family:Vazirmatn,Tahoma,sans-serif;font-size:16px;line-height:46px;font-variant-numeric:tabular-nums;color:#424a59;background:transparent;outline:none!important;box-shadow:none!important}
.percent-field input::placeholder{color:#b1b7c2;opacity:1}
.percent-field>span{position:static;display:flex;align-items:center;justify-content:center;flex:0 0 36px;border-left:1px solid #edf0f5;background:#f7f8fb;color:#8b93a2;font-size:16px;line-height:1}
.percent-field:focus-within{border-color:#df303c;box-shadow:0 0 0 3px #df303c12}
.percent-field:focus-within>span{background:#fff4f5;color:#d42e3c;border-left-color:#f8dfe3}
.percent-field:has(input[aria-invalid="true"]){border-color:#dc303f}
.price-editor #productPrice{height:48px;margin-top:7px}
}
@media screen and (max-width:380px){.price-editor{grid-template-columns:minmax(0,1fr) 120px;gap:10px}.increase-caption{gap:3px;font-size:11px}.increase-caption .optional{font-size:8px}.percent-field input{padding-inline:10px!important}.percent-field>span{flex-basis:30px}}

.specifications-label{display:flex;align-items:center;gap:8px;font-size:13px;margin:18px 0 8px;color:#666f7e}.specifications-input{display:block;width:100%;min-height:116px;max-height:340px;resize:vertical;padding:12px 14px;border:1px solid #e1e5ed;border-radius:10px;background:#fcfdff;font:14px/2 Vazirmatn,Tahoma,sans-serif;color:#444d5d;outline:none;transition:border-color .15s,box-shadow .15s}.specifications-input:focus{border-color:#df303c;box-shadow:0 0 0 3px #df303c10;background:#fff}.specifications-input::placeholder{color:#a0a7b3;font-size:12px}.specifications-hint{display:block;color:#969eab;font-size:10px;line-height:1.9;margin-top:7px}.product-cell .product-specifications,#catalog .product-cell .product-specifications{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;line-height:1.9;font-size:12px;color:#7b8492;margin-top:7px}.product-specifications:empty{display:none!important}.products .product-cell{align-items:flex-start}#catalog .product-cell{align-items:flex-start}
@media screen and (max-width:600px){.specifications-input{font-size:16px;min-height:120px}.product-cell .product-specifications{font-size:12px}#catalog .product-cell .product-specifications{font-size:10px}}
@media print{#catalog .product-cell .product-specifications{font-size:11px;color:#646b76;white-space:pre-wrap;overflow-wrap:anywhere}}
