@font-face{font-family:Vazirmatn;src:url('/fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('/fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{font-family:Vazirmatn,Tahoma,sans-serif;color:#272638;background:#f5f5f8;--accent:#7160d7;--muted:#898698;--border:#e9e7ef;--soft:#f3f0fc}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,.upload-zone:focus-within{outline:3px solid #b9aaf3;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:none;border-color:#a495e6;box-shadow:0 0 0 3px #7160d713}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;display:block;flex-shrink:0}h1,h2,h3,p{margin:0}button{border:0}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0;flex-shrink:0}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{appearance:none}.topbar{height:83px;background:#fff;border-bottom:1px solid var(--border);padding:0 max(32px,calc((100vw - 1450px)/2));display:flex;align-items:center;gap:25px}.app-brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:700;letter-spacing:1.8px;line-height:1.2}.brand-mark{width:43px;height:43px;background:var(--accent);border-radius:13px;display:grid;place-items:center;color:white}.brand-mark svg{width:27px;height:27px}.brand-subtitle{display:block;font-size:8px;letter-spacing:2.8px;font-weight:400;margin-top:7px;color:var(--muted)}.topbar-divider{width:1px;height:28px;background:var(--border)}.topbar-label{font-size:13px;color:#6f6b7d}.local-badge{margin-inline-start:auto;display:flex;gap:7px;align-items:center;font-size:11px;color:#728b7d}.local-badge i{width:6px;height:6px;background:#78a58b;border-radius:50%}.main{max-width:1450px;margin:auto;padding:34px 32px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:11px;color:var(--muted)}.eyebrow span{padding:0 8px;color:#c4c0ce}h1{font-size:28px;margin:9px 0 7px;font-weight:700;display:flex;align-items:center;gap:13px}.version{font-size:10px;font-weight:400;border:1px solid #dfd9f1;border-radius:5px;color:var(--accent);padding:4px 8px}.page-heading p{color:var(--muted);font-size:12px}.button{min-height:40px;display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:8px;padding:9px 17px;font-size:12px;font-weight:700;transition:background .15s,transform .15s;border:1px solid var(--border);color:#686176;background:#fff}.button:not(:disabled):active{transform:translateY(1px)}.button.secondary:hover{background:#f9f7ff;border-color:#c9bfea}.button.primary{background:var(--accent);border-color:var(--accent);color:white}.button.primary:hover{background:#6252c5}.button.compact{background:var(--soft);color:var(--accent);border-color:#e6e0f7;font-size:11px;min-height:35px;padding:6px 12px}.button svg{width:17px;height:17px}.editor-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:25px;align-items:start}.settings{display:grid;gap:17px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.section-title{display:flex;gap:10px;align-items:center;padding:18px 20px 15px}.section-title h2{font-size:14px;font-weight:700}.section-title>svg,.section-title>span:last-child:not(.step){margin-inline-start:auto;color:#9d96ae}.step{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:var(--soft);color:var(--accent);font-size:11px}.tiny-label{font-size:10px;font-weight:400}.fields-grid{padding:4px 20px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 13px}label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#716b80}input,textarea,select{color:#3f3a4c;background:#fff;border:1px solid #e5e2eb;border-radius:7px;min-width:0}input{height:39px;padding:9px 10px;width:100%;font-size:12px}textarea{padding:9px 11px;resize:vertical;font-size:11px;line-height:1.85;width:100%}.wide{grid-column:1/-1}.field-note{font-size:10px;color:#9b94a8;line-height:1.9}.fields-grid>.field-note{margin-top:-9px}.input-unit{display:flex;direction:ltr;align-items:stretch}.input-unit input{direction:ltr;border-radius:7px 0 0 7px;border-right:0}.input-unit select,.unit-label{border:1px solid #e5e2eb;border-radius:0 7px 7px 0;background:#f9f8fc;display:grid;place-items:center;width:58px;flex-shrink:0;font-size:11px;color:#81798e;padding:0 6px}.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:10px;cursor:pointer;color:#8b8399}.serial-details{border-top:1px solid #efedf4}.serial-details summary{cursor:pointer;list-style:none;padding:13px 20px;font-size:11px;color:#7c748e;display:flex;gap:8px;align-items:center}.serial-details summary:before{content:'+';font-family:Arial;font-size:17px;color:#b3a9c4}.serial-details[open] summary:before{content:'−'}.serial-details summary span{font-size:9px;margin-inline-start:auto;color:#aba3b6}.serial-details .fields-grid{padding-top:4px}.upload-zone{margin:0 20px;display:flex;align-items:center;flex-direction:row;gap:13px;padding:20px 13px;border:1px dashed #d9d1ed;background:#fcfbff;border-radius:8px;cursor:pointer;transition:background .15s}.upload-zone.dragging{background:#eee8ff;border-color:var(--accent)}.upload-symbol{width:40px;height:40px;background:#f0eafa;color:#9280cf;border-radius:10px;display:grid;place-items:center;overflow:hidden;flex-shrink:0}.upload-symbol img{width:100%;height:100%;object-fit:contain}.upload-zone strong{display:block;font-size:11px;font-weight:400;color:#736386}.upload-zone small{display:block;font-size:8px;color:#aaa1b7;margin-top:5px}.logo-actions{margin:12px 20px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.logo-panel>.field-note{margin:0 20px 17px}.text-button{display:inline-flex;align-items:center;gap:6px;background:none;color:#9b8dae;font-size:10px;padding:4px 0}.text-button:hover{color:var(--accent)}.text-button svg{width:13px;height:13px}.credential-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:2px 20px 8px}.credential-inputs label{min-width:0}.input-heading{display:flex;align-items:center;justify-content:space-between;gap:5px}.input-heading span{font-size:9px;color:#a595c4;background:#f4f0fc;padding:0 6px;border-radius:4px}.credential-inputs textarea{height:169px;font-family:Vazirmatn,Arial,sans-serif;font-size:11px;line-height:1.9;text-align:left;white-space:pre}.credential-inputs textarea::placeholder{color:#c2bacb}.paste-button{display:flex;justify-content:center;align-items:center;gap:5px;background:#faf9fc;color:#968aa5;border:1px solid #eeebf2;border-radius:6px;font-size:10px;height:28px}.paste-button svg{width:12px;height:12px}.credentials-panel>.field-note{padding:0 20px}.credentials-panel>.text-button{margin:9px 20px 14px}.preview-workspace{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 25px;border-bottom:1px solid var(--border)}.preview-title{display:flex;align-items:center;gap:9px}.preview-title svg{color:var(--accent);width:18px;height:18px}.preview-title h2{font-size:14px}.preview-mode{font-size:9px;color:#a18dbe;background:#f4effc;padding:3px 7px;border-radius:4px}.paper-label{font-size:10px;color:#a39aae}.preview-content{padding:22px 25px 20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:8px;margin-bottom:20px}.stats>div{padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-inline-end:1px solid var(--border)}.stats>div:last-child{border:0}.stats span{font-size:10px;color:#978dA6}.stats strong{color:#64527d;font-size:20px;font-weight:400}.sticker-note{display:flex;align-items:center;gap:12px;background:#f8f5fe;border:1px solid #eee7fc;border-radius:8px;padding:13px 15px}.sticker-icon{color:#9a82cf}.sticker-note strong{font-size:11px;color:#8871a9;font-weight:400}.sticker-note p{font-size:10px;color:#ada0be;margin-top:4px}.measurement{margin-inline-start:auto;font-size:10px;background:#eee7fa;color:#9276b8;white-space:nowrap;border-radius:5px;padding:5px 8px}.card-detail-heading,.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 12px}h3{font-size:11px;font-weight:400;color:#8c819b}.detail-preview{border:1px solid #f0edf4;border-radius:8px;background:#fbfafc;min-height:155px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px 12px 13px;overflow:hidden}.detail-card-scale{width:542.37px;height:151.18px;position:relative;max-width:100%}.detail-card-scale .credit-card{transform-origin:top left;transform:scale(2);position:absolute;left:0;top:0}.detail-caption{font-size:9px;color:#aaa0b4;display:flex;align-items:center;gap:8px;margin-top:11px}.detail-caption b{font-size:9px;font-weight:400}.detail-caption>span{margin-inline-start:10px}.validation-message{margin-top:12px;font-size:11px;line-height:1.8;color:#b57b50;background:#fff9f1;border:1px solid #faecd9;border-radius:7px;padding:9px 12px}.validation-message:empty{display:none}.validation-message.is-error{color:#bd6271;background:#fff6f7;border-color:#f6dfe4}.validation-message.is-ready{color:#769682;background:#f5faf7;border-color:#e3eee7}.page-navigation{display:flex;align-items:center;gap:9px;font-size:10px;color:#91869f}.icon-button{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--border);border-radius:5px;background:white;color:#a295b6}.icon-button svg{width:13px;height:13px}.paper-stage{padding:20px 20px 14px;background:#f0eef3;border:1px solid #e9e5ef;border-radius:9px;overflow:hidden;display:flex;align-items:center;flex-direction:column}.sheet-wrapper{position:relative;direction:ltr;flex-shrink:0}.sheet{width:297mm;height:210mm;background:white;padding:5mm;display:grid;grid-template-columns:repeat(4,71.75mm);grid-template-rows:repeat(10,20mm);direction:ltr;gap:0;transform-origin:top left;position:absolute;left:0;top:0;box-shadow:0 3px 15px #45325818}.paper-bottom-label{font-size:9px;color:#a297af;margin-top:13px}.credit-card{position:relative;flex-shrink:0;width:71.75mm;height:20mm;border:.18mm solid #3e3a45;border-radius:1.3mm;background:#fff;color:#15121b;overflow:hidden;direction:ltr;font-family:Vazirmatn,Arial,sans-serif}.credential-block{position:absolute;left:2mm;top:2mm;width:28mm;height:10mm;display:flex;flex-direction:column;gap:1mm;justify-content:center}.credential-line{height:3.5mm;line-height:3.5mm;white-space:nowrap;font-family:Arial,Vazirmatn,sans-serif;display:flex;align-items:baseline;gap:1mm;font-size:9pt;font-weight:700}.credential-label{font-size:6.5pt;color:#a18b75;width:3mm;flex-shrink:0;font-weight:400}.credential-value{font-size:var(--credential-size,9pt);line-height:1;letter-spacing:0;display:block}.sticker-visible .credential-block{outline:.22mm dashed #b5a1d9;outline-offset:.35mm;background:#f6f1ff66;border-radius:.5mm}.sticker-visible .credential-value{color:#6c4e80}.card-package{position:absolute;left:32mm;top:2.2mm;width:18mm;font-size:10pt;font-family:Arial,sans-serif;font-weight:700;white-space:nowrap}.card-price{position:absolute;left:32mm;top:6.8mm;width:18mm;font-size:7.5pt;line-height:1;font-family:Arial,sans-serif;font-weight:700;white-space:nowrap}.card-serial{position:absolute;left:32mm;top:10.8mm;font-size:4.5pt;font-family:Arial,sans-serif}.card-logo{position:absolute;left:53.25mm;top:1.5mm;width:17mm;height:12mm;display:flex;justify-content:center;align-items:center}.card-logo img{width:100%;height:100%;object-fit:contain}.logo-placeholder{font-size:6pt;font-weight:400;color:#b7afc2;border:.2mm dashed #e6e0ee;width:13mm;height:9mm;display:flex;justify-content:center;align-items:center;border-radius:1mm;direction:rtl}.card-location{position:absolute;left:52.75mm;top:14mm;width:18mm;height:4.5mm;text-align:center;direction:rtl;font-weight:700;line-height:1.15;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-comment{position:absolute;left:2mm;top:13.1mm;width:50mm;height:5.8mm;direction:rtl;line-height:1.18;text-align:center;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-comment canvas,.card-location canvas{width:100%;height:100%;object-fit:contain}.print-tip{font-size:10px;color:#a49aac;display:flex;gap:7px;align-items:flex-start;padding-top:15px;line-height:1.9}.print-tip svg{width:14px;height:14px;margin-top:2px;flex-shrink:0}.export-bar{border-top:1px solid var(--border);padding:20px 25px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fdfcff}.export-bar>div:first-child{display:flex;flex-direction:column;gap:5px}.export-bar strong{font-size:11px;font-weight:400;color:#80708e}.export-bar>div:first-child>span{font-size:9px;color:#ac9fb8}.export-actions{display:flex;gap:9px}.export-actions .button{font-size:11px;padding:10px 13px}.export-bar #export-progress{width:100%;font-size:11px;color:var(--accent)}progress{width:100%;height:5px;accent-color:var(--accent);display:block;margin-top:7px}.footer{display:flex;justify-content:space-between;gap:15px;padding:26px 2px 5px;color:#aea6b9;font-size:9px}.footer>span:first-child{font-family:Arial,sans-serif;letter-spacing:1.5px}.footer span span{padding:0 7px;color:#d2ccd8}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#393044;color:#fff;padding:12px 20px;border-radius:10px;box-shadow:0 5px 20px #32253a20;font-size:12px;max-width:calc(100vw - 32px);z-index:20;line-height:1.8}.toast[hidden]{display:none}#print-root{display:none}
:root{--muted:#746b80}
.field-note,.print-tip,.detail-caption,.paper-bottom-label,.footer,.checkbox-label,.paper-label,.stats span,.page-navigation,.export-bar>div:first-child>span{color:#776d81}
.sticker-note strong{color:#77618f}.sticker-note p{color:#776984}.field-note{font-size:11px}.fields-grid label,.credential-inputs label{font-size:12px}.upload-zone small{color:#776d81}.text-button{color:#776d81}.input-heading span{color:#78628f}.tiny-label{color:#776d81!important}
#pdf-result{width:100%;display:flex;align-items:center;gap:14px;padding-top:10px;border-top:1px solid var(--border);font-size:10px;color:#776d81}#pdf-result[hidden]{display:none}#pdf-result a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}#pdf-result a:first-of-type{margin-inline-start:auto}
@media(min-width:1550px){.editor-layout{grid-template-columns:370px minmax(0,1fr)}}
@media(max-width:1100px){.editor-layout{grid-template-columns:310px minmax(0,1fr);gap:17px}.main{padding:26px 22px}.preview-content{padding:18px}.preview-toolbar,.export-bar{padding:17px 18px}.stats>div{padding:12px;flex-direction:column;gap:3px}.detail-caption>span{display:none}.export-bar>div:first-child{display:none}.export-actions{width:100%}.export-actions .primary{flex:1}.measurement{display:none}.topbar{padding:0 24px}}
@media(max-width:850px){.editor-layout{grid-template-columns:1fr}.settings{grid-template-columns:1fr 1fr}.settings>.panel:first-child{grid-row:span 2}.credentials-panel{grid-column:2}.preview-workspace{width:100%}.topbar{height:72px}.main{padding:24px 18px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:24px}.footer{font-size:8px}.export-bar>div:first-child{display:flex}}
@media(max-width:600px){.topbar{height:66px;padding:0 18px;gap:13px}.app-brand{font-size:13px;gap:8px}.brand-mark{width:35px;height:35px;border-radius:10px}.brand-mark svg{width:23px;height:23px}.brand-subtitle{font-size:7px;letter-spacing:1.7px;margin-top:5px}.topbar-label,.topbar-divider{display:none}.local-badge{font-size:8px;gap:4px}.main{padding:20px 12px}.page-heading{align-items:flex-start;gap:10px}.page-heading h1{font-size:21px;flex-wrap:wrap;gap:7px}.page-heading p{font-size:10px;max-width:230px}.eyebrow{font-size:9px}.version{font-size:8px;padding:2px 5px}.page-heading>.button{padding:7px 10px;font-size:9px;min-height:33px;margin-top:24px;white-space:nowrap}.page-heading>.button svg{width:13px;height:13px}.settings{grid-template-columns:1fr;gap:13px}.settings>.panel:first-child{grid-row:auto}.credentials-panel{grid-column:auto}.credential-inputs textarea{height:140px}.preview-toolbar{padding:16px 13px}.paper-label{font-size:8px}.preview-content{padding:14px 12px}.preview-title h2{font-size:12px}.stats>div{padding:10px 6px}.stats span{font-size:9px}.stats strong{font-size:18px}.sticker-note{padding:11px;gap:9px}.sticker-note strong{font-size:10px}.sticker-note p{font-size:9px}.card-detail-heading label{font-size:8px;gap:4px}.card-detail-heading input{width:12px;height:12px}.detail-preview{padding:17px 10px 12px;min-height:125px}.paper-stage{padding:12px 8px}.export-bar{padding:15px 12px}.export-bar>div:first-child{display:none}.export-actions .button{font-size:10px}.footer{flex-direction:column;align-items:center;gap:10px}.print-tip{font-size:9px}input,textarea,select{font-size:16px!important}.credential-inputs textarea{font-size:14px!important}.card-location,.card-comment{font-size:inherit}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@page{size:A4 landscape;margin:0}
@media print{html,body{margin:0!important;padding:0!important;background:white!important}#workspace,.toast{display:none!important}#print-root{display:block!important}#print-root .sheet{position:relative!important;transform:none!important;box-shadow:none!important;break-after:page;page-break-after:always;break-inside:avoid}#print-root .sheet:last-child{break-after:auto;page-break-after:auto}.credit-card{print-color-adjust:exact;-webkit-print-color-adjust:exact}.credential-block{outline:none!important;background:none!important}.logo-placeholder{display:none}}
