:root{--pink:#d81787;--dark:#251b23;--muted:#786d76;--line:#eadfe7;--soft:#fff4fa;--green:#16794b;font-family:Tajawal,Cairo,Tahoma,Arial,sans-serif;color:var(--dark)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 5% 5%,#ffe5f2,transparent 28rem),linear-gradient(145deg,#fff,#fff7fb)}button,input,select{font:inherit}button{cursor:pointer}.shop-shell{width:min(1180px,calc(100% - 28px));margin:auto;padding:38px 0 70px}.hero{text-align:center;margin-bottom:30px}.hero>span{color:var(--pink);font-weight:800}.hero h1{font-size:clamp(2rem,5vw,3.3rem);margin:7px 0}.hero p,.step-title p{color:var(--muted);margin:0}.loading{text-align:center;padding:70px}.step-block,.preview-card,.tools-card,.admin-card,.setup-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 55px rgba(82,29,60,.08)}.step-block{padding:22px;margin-bottom:24px}.step-title{display:flex;gap:12px;align-items:center;margin-bottom:18px}.step-title>b{display:grid;place-items:center;background:var(--pink);color:#fff;width:37px;height:37px;border-radius:50%}.step-title h2{margin:0 0 3px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}.template-choice{background:#fff;border:2px solid var(--line);padding:9px;border-radius:17px;text-align:right}.template-choice.selected{border-color:var(--pink);box-shadow:0 0 0 3px #ffe0f0}.template-choice span{display:grid;place-items:center;height:145px;border-radius:11px;background-color:#f4edf1;background-image:linear-gradient(45deg,#eee3e9 25%,transparent 25%),linear-gradient(-45deg,#eee3e9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee3e9 75%),linear-gradient(-45deg,transparent 75%,#eee3e9 75%);background-size:18px 18px;overflow:hidden}.template-choice img{max-width:100%;max-height:100%}.template-choice strong,.template-choice small{display:block;margin-top:8px}.template-choice small{color:var(--pink)}.editor-layout{display:grid;grid-template-columns:minmax(310px,1fr) minmax(300px,420px);gap:24px;align-items:start}.preview-card{padding:22px;display:grid;place-items:center;position:sticky;top:15px}.canvas-wrap{position:relative;width:min(100%,520px);background-color:#f5edf2;background-image:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),linear-gradient(45deg,#eaddE5 25%,transparent 25%),linear-gradient(-45deg,#eaddE5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eaddE5 75%),linear-gradient(-45deg,transparent 75%,#eaddE5 75%);background-size:auto,20px 20px,20px 20px,20px 20px,20px 20px;overflow:hidden;touch-action:none;cursor:grab;box-shadow:0 14px 35px #49223a2b}canvas{display:block;width:100%;height:100%}.empty-upload{position:absolute;inset:35% 22%;border:2px dashed #e294bd;border-radius:18px;color:var(--pink);background:#ffffffe8;display:grid;place-items:center;padding:18px}.empty-upload small{color:var(--muted)}.drag-hint{color:var(--muted);margin-top:12px}.tools-card{padding:24px}.tools-card hr{border:0;border-top:1px solid var(--line);margin:24px 0}.field,label{display:grid;gap:7px;font-weight:700}.field{margin-bottom:15px}input,select{width:100%;border:1px solid #d9cdd5;border-radius:11px;padding:11px;background:#fff;color:var(--dark)}input[type=color]{padding:3px;height:44px}input[type=range]{padding:0;border:0;accent-color:var(--pink)}.price-pill{margin-top:8px;padding:10px 12px;border-radius:10px;background:#fff0f7;color:var(--pink);font-weight:800}.upload-button,.primary{display:flex;justify-content:center;align-items:center;border:0;border-radius:12px;padding:13px 16px;background:var(--pink);color:#fff;font-weight:800;box-shadow:0 9px 20px #d8178730}.range-head{display:flex;justify-content:space-between;margin-top:17px}.range-head output{direction:ltr;color:var(--pink);font-weight:800}.soft{border:1px solid var(--line);background:#f7eff4;color:#624b59;border-radius:11px;padding:10px;margin-top:11px}.full{width:100%;margin-top:12px}.switch{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:10px}.switch input{width:20px;height:20px;accent-color:var(--pink)}.switch.small{margin:13px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.tools-card label:not(.switch){margin-top:13px}.status{min-height:20px;color:#b22137;text-align:center}.setup-page{display:grid;place-items:center;padding:25px}.setup-card{width:min(100%,480px);padding:28px}.setup-card h1{margin-top:0}.stack-form{display:grid;gap:15px}.alert{padding:13px 16px;border-radius:12px;margin:12px 0}.alert.error{background:#fff0f1;color:#a32035}.alert.success{background:#eefaf3;color:var(--green)}.back-link{display:block;text-align:center;margin-top:18px;color:var(--pink)}dialog{width:min(92vw,480px);border:0;border-radius:22px;padding:0;box-shadow:0 28px 90px #24131d66}dialog::backdrop{background:#24131d99;backdrop-filter:blur(4px)}dialog form,.success-screen{padding:28px;position:relative}.dialog-close{position:absolute;left:15px;top:13px;border:0;background:#f3e8ee;border-radius:50%;width:34px;height:34px;font-size:22px}.order-summary{display:grid;background:var(--soft);padding:13px;border-radius:12px;margin-bottom:15px}.order-summary span{color:var(--muted)}.total-line{display:flex;justify-content:space-between;margin:20px 0;font-size:1.2rem}.total-line strong{color:var(--pink)}.success-screen{text-align:center}.success-screen>span{display:grid;place-items:center;width:70px;height:70px;margin:auto;background:#eaf9f0;color:var(--green);border-radius:50%;font-size:38px}.admin-page{background:#f7f2f5}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:16px max(20px,calc((100% - 1200px)/2));background:#fff;border-bottom:1px solid var(--line)}.admin-header div{display:grid}.admin-header span{color:var(--muted);font-size:.8rem}.admin-header nav{display:flex;gap:15px}.admin-header a{color:var(--pink);text-decoration:none}.admin-shell{width:min(1200px,calc(100% - 28px));margin:24px auto 60px}.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:18px}.tabs a{white-space:nowrap;text-decoration:none;color:#65545e;padding:10px 15px;border-radius:10px;background:#eadfe7}.tabs a.active{background:var(--pink);color:#fff}.tabs b{background:#fff3;padding:2px 6px;border-radius:10px}.admin-card{padding:22px}.admin-card h2{margin-top:0}.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:18px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:right;border-bottom:1px solid var(--line);padding:10px}td small{display:block;color:var(--muted)}.order-thumb{width:55px;height:70px;object-fit:contain;background:#eee}.empty-table{text-align:center;color:var(--muted);padding:40px}.inline-editor{display:grid;grid-template-columns:1.5fr repeat(4,.7fr) 1fr auto;gap:7px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:6px}.check input{width:18px}.template-admin-list{display:grid;gap:15px}.template-editor{display:grid;grid-template-columns:160px 1fr;gap:18px;border-bottom:1px solid var(--line);padding-bottom:15px}.template-editor>img{width:160px;height:190px;object-fit:contain;background:#f3edf1}.template-editor .code{display:block;color:var(--muted);direction:ltr;text-align:right;margin:7px 0}.checks{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.template-editor button,.inline-editor button{border:0;border-radius:8px;padding:9px;background:#eee2e9}.danger{color:#a51f33!important}.settings-card{max-width:600px}.note{margin-top:18px;padding:14px;background:#fff8e6;border-radius:12px;color:#6b5521}fieldset{border:1px solid var(--line);border-radius:12px;display:grid;gap:9px}label small{color:var(--muted);font-weight:400}
.empty-upload[hidden]{display:none!important}#download{display:none!important}.inline-editor:first-of-type{position:relative;margin-top:42px}.inline-editor:first-of-type::before{content:"";position:absolute;right:0;left:0;top:-40px;height:40px;background:url("size-columns.svg") center/100% 40px no-repeat;pointer-events:none}.orders-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.orders-heading h2{margin:0}.orders-heading form{display:flex;gap:8px}.danger-button{border:0;border-radius:10px;padding:10px 14px;background:#b51f35;color:#fff;font-weight:800}.danger-button:disabled{opacity:.45;cursor:not-allowed}.delete-hint{color:var(--muted);font-size:.85rem}.select-col{text-align:center!important}.cancelled-check{width:20px;height:20px;accent-color:#b51f35}.cancelled-row{background:#fff8f8}
.reality-button{border:2px solid var(--pink);border-radius:12px;padding:12px 16px;background:#fff;color:var(--pink);font-weight:900}.reality-button:hover{background:var(--soft)}.reality-button[hidden]{display:none!important}.reality-dialog{width:min(94vw,650px);max-height:94vh;overflow:auto}.reality-content{padding:24px;position:relative}.reality-heading{text-align:center}.reality-heading>span{color:var(--pink);font-weight:800}.reality-heading h2{margin:5px 0}.reality-heading p{margin:0 0 16px;color:var(--muted)}.phone-stage{position:relative;width:min(100%,460px);margin:auto;overflow:hidden;border-radius:20px;background:#eee}.phone-stage>img:first-child{display:block;width:100%;height:auto}.phone-stage #stickerPreview{position:absolute;transform:translate(-50%,-50%);object-fit:fill;filter:drop-shadow(0 6px 6px #0005);pointer-events:none}.reality-note{text-align:center;color:var(--muted);font-size:.8rem}.reality-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reality-actions button{margin:0}.mockup-admin-grid{display:grid;grid-template-columns:minmax(280px,430px) minmax(320px,1fr);gap:18px;align-items:start}.admin-phone-preview{background:#eee;border-radius:18px;overflow:hidden}.admin-phone-preview img{display:block;width:100%;max-height:650px;object-fit:contain}
@media(max-width:800px){.editor-layout,.admin-grid,.mockup-admin-grid{grid-template-columns:1fr}.preview-card{position:static;scroll-margin-top:12px}.admin-header{align-items:flex-start}.admin-header nav{flex-direction:column;gap:5px}.inline-editor{grid-template-columns:1fr 1fr}.template-editor{grid-template-columns:100px 1fr}.template-editor>img{width:100px;height:130px}.shop-shell{width:min(100% - 16px,600px);padding-top:24px}.step-block,.preview-card,.tools-card{padding:15px}.template-grid{grid-template-columns:repeat(2,1fr)}.template-choice{transition:filter .22s ease,opacity .22s ease,transform .22s ease}.template-choice:not(.selected){filter:blur(1.8px) grayscale(.45);opacity:.42}.template-choice:not(.selected):active{filter:blur(.6px) grayscale(.2);opacity:.72}.template-choice.selected{filter:none;opacity:1;transform:scale(1.015)}}
@media(max-width:650px){.orders-heading{align-items:stretch;flex-direction:column}.orders-heading form{display:grid;grid-template-columns:1fr}.orders-heading button{width:100%}.inline-editor:first-of-type{margin-top:0}.inline-editor:first-of-type::before{display:none}}
.phone-stage #stickerPreview{object-fit:contain!important}
.template-accordions{display:grid;gap:12px}.size-accordion{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.size-accordion[open]{border-color:#e9a1c9;box-shadow:0 8px 24px #9e426f12}.size-accordion summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:13px;padding:15px 17px;cursor:pointer;list-style:none;background:#fff8fc}.size-accordion summary::-webkit-details-marker{display:none}.size-accordion summary span{display:grid}.size-accordion summary strong{font-size:1.05rem}.size-accordion summary small{color:var(--pink);margin-top:2px}.size-accordion summary>b{padding:5px 9px;border-radius:999px;background:#f2e6ed;color:#705563;font-size:.78rem}.size-accordion summary>i{font-style:normal;font-size:1.35rem;color:var(--pink);transition:transform .2s}.size-accordion[open] summary>i{transform:rotate(180deg)}.accordion-grid{padding:15px;border-top:1px solid var(--line)}

/* Compact template management */
.admin-shell{width:80%;max-width:1500px;min-width:0}
.templates-admin-grid{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start}
.template-admin-list{display:grid;gap:0}
.template-list-head,.template-editor{display:grid;grid-template-columns:72px minmax(120px,170px) 70px minmax(230px,1fr) 82px;gap:12px;align-items:center}
.template-list-head{padding:0 8px 9px;color:var(--muted);font-size:.78rem;font-weight:800;border-bottom:1px solid var(--line)}
.template-editor{padding:10px 8px;border-bottom:1px solid var(--line)}
.template-editor>img{width:64px;height:70px;object-fit:contain;border-radius:9px;background:#f3edf1}
.compact-name{gap:4px}.compact-name>span{display:none}.compact-name input{padding:8px}.template-editor .code{margin:0;font-size:.7rem}
.compact-checks{margin:0;gap:6px 12px}.compact-checks .check{font-size:.8rem;white-space:nowrap}
.icon-control{display:grid;place-items:center;gap:1px;cursor:pointer;color:var(--pink)}.icon-control input{display:none}.icon-control span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f6eaf1;font-size:1.35rem;font-weight:900}.icon-control small{font-size:.65rem}
.template-actions{display:flex;justify-content:center;gap:7px}.template-editor .icon-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:10px;font-size:1.15rem;font-weight:900}.save-icon{background:#e8f7ef!important;color:#16794b}.delete-icon{background:#fff0f2!important}
@media(max-width:1100px){.admin-shell{width:calc(100% - 24px)}.templates-admin-grid{grid-template-columns:1fr}.template-list-head,.template-editor{grid-template-columns:64px minmax(110px,160px) 64px minmax(210px,1fr) 78px}}
@media(max-width:700px){.template-list-head{display:none}.template-editor{grid-template-columns:64px 1fr 58px 74px}.compact-checks{grid-column:1/-1;padding-top:7px}.compact-name>span{display:block;font-size:.7rem;color:var(--muted)}.admin-shell{width:calc(100% - 16px)}}
.cart-badge{position:fixed;left:20px;bottom:20px;z-index:20;border:0;border-radius:999px;background:var(--pink);color:#fff;padding:13px 18px;font-weight:900;box-shadow:0 12px 30px #7b174c55}.cart-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cart-choice-actions button{margin:0}.cart-dialog{width:min(94vw,620px);max-height:92vh;overflow:auto}.cart-dialog form{padding:28px;position:relative}.cart-items{display:grid;gap:9px;max-height:330px;overflow:auto}.cart-item{display:grid;grid-template-columns:58px 1fr 34px;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:12px}.cart-item img{width:58px;height:68px;object-fit:contain;background:#f3edf1;border-radius:8px}.cart-item div{display:grid}.cart-item small{color:var(--muted)}.cart-remove{border:0;background:#fff0f2;border-radius:9px;width:32px;height:32px;font-size:1.2rem}.cart-dialog label{margin-top:12px}
.order-items-admin{display:grid;gap:16px}.order-items-admin article{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:15px;border:1px solid var(--line);border-radius:15px}.order-items-admin img{width:150px;height:185px;object-fit:contain;background:#f3edf1}.order-items-admin .primary{display:inline-flex;text-decoration:none;width:auto}@media(max-width:600px){.order-items-admin article{grid-template-columns:1fr}.order-items-admin img{width:100%;height:240px}}
.site-logo{display:block;width:min(330px,80vw);max-height:150px;object-fit:contain;margin:0 auto 16px}
.payment-badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#eee;color:#665760;font-size:.78rem;font-weight:800;white-space:nowrap}.payment-badge.paid{background:#e8f7ef;color:#16794b}.payment-badge.pending{background:#fff5d9;color:#8a6410}.payment-badge.failed,.payment-badge.error{background:#fff0f2;color:#a51f33}.payment-page{display:grid;place-items:center;padding:24px}.payment-result{width:min(100%,560px);padding:34px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 60px #51243d22}.payment-result>img{display:block;width:min(250px,80%);max-height:120px;object-fit:contain;margin:0 auto 22px}.payment-result>span{display:grid;place-items:center;width:72px;height:72px;margin:auto;border-radius:50%;font-size:40px;font-weight:900;background:#fff0f2;color:#b51f35}.payment-result.paid>span{background:#eaf9f0;color:#16794b}.payment-result h1{margin:17px 0 8px}.payment-result p{color:var(--muted);font-size:1.05rem;line-height:1.8}.payment-result .primary{display:inline-flex;text-decoration:none;margin:18px auto}.payment-result small{display:block;color:var(--muted);margin-top:18px}.payment-order{background:var(--soft);border-radius:12px;padding:12px;font-size:1.1rem}
.payment-badge.refund_pending{background:#fff5d9;color:#8a6410}.payment-badge.partial_refunded,.payment-badge.refunded{background:#eaf1ff;color:#285aa0}.payment-panel{padding:14px;background:var(--soft);border-radius:13px;margin:15px 0}.refund-box{margin:18px 0;border:1px solid #e7bacf;border-radius:14px;padding:14px;background:#fffafd}.refund-box summary{cursor:pointer;font-weight:900;color:#b51f35}.refund-box form{margin-top:16px}.refund-box textarea{width:100%;min-height:90px;border:1px solid #d9cdd5;border-radius:11px;padding:11px;font:inherit;resize:vertical}.refund-history{margin:24px 0}.refund-history table{min-width:720px}.admin-card>hr{border:0;border-top:1px solid var(--line);margin:25px 0}
.size-accordion.open{border-color:#e9a1c9;box-shadow:0 8px 24px #9e426f12}.accordion-summary{width:100%;border:0;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:13px;padding:15px 17px;cursor:pointer;background:#fff8fc;color:var(--dark);text-align:right;-webkit-tap-highlight-color:transparent}.accordion-summary span{display:grid}.accordion-summary strong{font-size:1.05rem}.accordion-summary small{color:var(--pink);margin-top:2px}.accordion-summary>b{padding:5px 9px;border-radius:999px;background:#f2e6ed;color:#705563;font-size:.78rem}.accordion-summary>i{font-style:normal;font-size:1.35rem;color:var(--pink);transition:transform .2s}.size-accordion.open .accordion-summary>i{transform:rotate(180deg)}.accordion-grid[hidden]{display:none!important}@media(max-width:650px){.accordion-summary{grid-template-columns:minmax(0,1fr) auto auto;padding:14px 12px}.accordion-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:9px}.template-choice span{height:auto;aspect-ratio:1/1.05}}

/* Mobile template selection flow V1.3 */
.editor-layout[hidden]{display:none!important}
@media(max-width:800px){
  .shop-shell{width:min(85%,600px)}
  .template-choice{filter:none;opacity:1;transition:filter .22s ease,opacity .22s ease,transform .22s ease}
  .template-accordions:not(.has-selection) .template-choice:not(.selected){filter:none;opacity:1;transform:none}
  .template-accordions.has-selection .template-choice:not(.selected){filter:blur(1.8px) grayscale(.45);opacity:.42}
  .template-accordions.has-selection .template-choice:not(.selected):active{filter:blur(.6px) grayscale(.2);opacity:.72}
  .template-choice.selected{filter:none;opacity:1;transform:scale(1.015)}
}

/* Editor controls order V1.4 — desktop and mobile */
#unitPrice[hidden]{display:none!important}
.photo-adjustments{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:15px}
.photo-control{min-width:0}
.photo-control .range-head{margin-top:0;gap:8px;align-items:end}
.photo-control .range-head label{font-size:.9rem}
.photo-control input[type=range]{margin-top:8px}
#resetPhoto{display:block;margin-inline-start:auto}

/* Contextual text/photo tabs V1.5 */
.editor-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;padding:5px;background:#f7eff4;border-radius:14px}
.editor-tab{border:0;border-radius:10px;padding:11px;background:transparent;color:#705563;font-weight:900}
.editor-tab.active{background:#fff;color:var(--pink);box-shadow:0 5px 15px #5b29421a}
.editor-tab-panel[hidden]{display:none!important}
.editor-tab-panel{animation:editorPanelIn .18s ease}
@keyframes editorPanelIn{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}

/* Direct controls over the design V1.6 */
.canvas-managed-control{display:none!important}
.text-color-only{grid-template-columns:1fr}
.canvas-controls[hidden],.canvas-control-popover[hidden]{display:none!important}
.canvas-controls{position:absolute;z-index:8;right:50%;bottom:4px;transform:translateX(50%);display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:999px;background:#24131dcc;color:#fff;box-shadow:0 8px 24px #0005;backdrop-filter:blur(7px);touch-action:auto;cursor:default}
.canvas-controls>span{font-size:.76rem;font-weight:900;white-space:nowrap;padding:0 4px}
.canvas-controls>button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:var(--pink);font-size:1.35rem;font-weight:900;box-shadow:none;padding:0}
.canvas-control-popover{position:absolute;right:50%;bottom:calc(100% + 9px);transform:translateX(50%);width:min(245px,72vw);padding:11px 13px;border-radius:13px;background:#fff;color:var(--dark);box-shadow:0 12px 35px #0005}
.canvas-control-popover strong{display:block;text-align:center;font-size:.82rem;margin-bottom:8px}
.canvas-control-popover input[type=range]{display:block;width:100%;margin:0;accent-color:var(--pink)}

/* Automatic text options V1.9 */
.text-advanced-options[hidden]{display:none!important}
.text-advanced-options{animation:editorPanelIn .18s ease}

/* Four photo tools on canvas; no photo tab V1.10 */
.legacy-photo-tools{display:none!important}
.canvas-controls>button[hidden]{display:none!important}

/* Unified desktop/mobile selection flow V1.12 */
.template-accordions.has-selection .template-choice:not(.selected){filter:blur(1.8px) grayscale(.45);opacity:.42}
.template-accordions.has-selection .template-choice:not(.selected):hover{filter:blur(.7px) grayscale(.2);opacity:.72}
.template-accordions.has-selection .template-choice.selected{filter:none;opacity:1;transform:scale(1.015)}

/* Multiline text and unlimited admin symbols V1.13 */
textarea{font:inherit;width:100%;border:1px solid #d9cdd5;border-radius:11px;padding:11px;background:#fff;color:var(--dark);min-height:88px;resize:vertical;line-height:1.65}
.symbol-picker{margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}
.symbol-picker[hidden]{display:none!important}.symbol-picker h3{margin:0 0 4px}.symbol-picker>p{margin:0 0 12px;color:var(--muted);font-size:.88rem}
.symbol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:9px}
.symbol-choice{border:1px solid var(--line);border-radius:12px;background:#fff;padding:7px;color:var(--dark)}
.symbol-choice img{display:block;width:100%;height:58px;object-fit:contain}.symbol-choice span{display:block;margin-top:5px;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.canvas-controls>.canvas-delete{background:#b8273d;color:#fff}
.symbol-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:18px}
.symbol-admin-item{border:1px solid var(--line);border-radius:15px;padding:12px;background:#fff;text-align:center}.symbol-admin-item img{width:100%;height:110px;object-fit:contain;background:#f7eff4;border-radius:10px}.symbol-admin-item strong{display:block;margin:8px 0}

/* Categorized symbol library and bulk upload V1.14 */
.symbol-category-tabs{display:flex;gap:7px;overflow-x:auto;margin-bottom:11px;padding-bottom:3px}
.symbol-category-button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--dark);padding:7px 13px;font-weight:800}
.symbol-category-button.active{background:var(--pink);border-color:var(--pink);color:#fff}
.symbol-category-admin{border-top:1px solid var(--line);padding-top:12px;margin-top:17px}.symbol-category-admin h3{display:flex;justify-content:space-between;align-items:center}.symbol-category-admin h3 small{color:var(--muted);font-weight:500}
.symbol-management-grid{grid-template-columns:minmax(280px,360px) 1fr}
@media(max-width:800px){.symbol-management-grid{grid-template-columns:1fr}}

/* Text and symbols accordions V1.14.1 */
.editor-accordion{border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:13px;overflow:hidden}
.editor-accordion[hidden]{display:none!important}.editor-accordion>summary{list-style:none;position:relative;padding:14px 17px;color:var(--dark);font-weight:900;cursor:pointer;background:#fff4fa}
.editor-accordion>summary::-webkit-details-marker{display:none}.editor-accordion>summary::after{content:'⌄';position:absolute;left:17px;top:12px;color:var(--pink);font-size:1.25rem;transition:transform .18s ease}.editor-accordion[open]>summary::after{transform:rotate(180deg)}
.editor-accordion>.switch,.editor-accordion>#textTools,.editor-accordion>.symbol-picker{margin:13px 15px}.editor-accordion>.symbol-picker{border:0;padding:0;background:transparent}
.editor-accordion[open]>summary{border-bottom:1px solid var(--line)}


/* Snapchat-style canvas tools V1.15 */
.snap-toolbar{position:absolute;z-index:12;top:10px;right:10px;display:grid;gap:9px;touch-action:auto}
.snap-tool-button{display:grid;place-items:center;gap:2px;width:52px;min-height:54px;padding:6px 4px;border:1px solid #ffffff55;border-radius:15px;background:#24131dcc;color:#fff;box-shadow:0 7px 22px #0005;backdrop-filter:blur(8px)}
.snap-tool-button>b{font:900 25px/1 Arial,sans-serif}.snap-tool-button>span{font-size:.67rem;font-weight:800}.snap-tool-button.active{background:var(--pink);transform:scale(1.04)}.snap-tool-button[hidden]{display:none!important}
.snap-editor-panel[hidden],.snap-editor-section[hidden]{display:none!important}
.snap-editor-panel{position:absolute;z-index:25;top:22px;left:22px;width:min(350px,calc(100% - 44px));max-height:calc(100% - 44px);overflow:auto;border:1px solid #ffffff99;border-radius:20px;background:#fffffff2;box-shadow:0 18px 55px #24131d55;backdrop-filter:blur(14px);text-align:right}
.snap-editor-panel>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#fff8fc;border-bottom:1px solid var(--line)}
.snap-editor-panel>header strong{font-size:.95rem}.snap-editor-panel>header button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#f1e4eb;color:#5e4352;font-size:22px}
#snapEditorBody{padding:13px}.snap-editor-section>.switch{display:none!important}.snap-editor-section #textTools{display:grid;gap:2px}.snap-editor-section #textTools>label:first-child{margin-top:0}
.snap-editor-section .symbol-picker{display:block!important;margin:0;padding:0;border:0;background:transparent}.snap-editor-section .symbol-picker>h3,.snap-editor-section .symbol-picker>p{display:none}
.snap-editor-section .symbol-grid{grid-template-columns:repeat(4,minmax(54px,1fr));max-height:330px;overflow:auto;padding:3px}.snap-editor-section .symbol-choice{padding:5px}.snap-editor-section .symbol-choice img{height:52px}
@media(max-width:800px){
  .snap-toolbar{top:8px;right:8px;gap:7px}.snap-tool-button{width:46px;min-height:48px;border-radius:14px}.snap-tool-button>b{font-size:22px}
  .snap-editor-panel{position:fixed;z-index:100;top:auto;right:8px;bottom:8px;left:8px;width:auto;max-height:min(68vh,560px);border-radius:22px;box-shadow:0 18px 70px #24131d88}
  .snap-editor-panel>header{padding:12px 14px}.snap-editor-section .symbol-grid{grid-template-columns:repeat(5,minmax(48px,1fr));max-height:42vh}
  .snap-editor-section textarea{min-height:72px}.snap-editor-section .form-row{gap:7px}
}


/* Direct canvas text composer V1.15.1 */
.snap-toolbar[hidden],.snap-text-composer[hidden],.snap-text-quick-tools[hidden],.snap-font-bar[hidden],.snap-outline-bar[hidden]{display:none!important}
.snap-text-composer{position:absolute;z-index:30;inset:16% 12%;display:flex;flex-direction:column;justify-content:center;gap:10px;touch-action:auto}
.snap-text-composer textarea{width:100%;min-height:110px;padding:14px;border:2px solid #fff;border-radius:16px;background:#24131daa;color:#fff;text-align:center;font-size:clamp(20px,4vw,34px);font-weight:800;line-height:1.45;box-shadow:0 10px 35px #0007;backdrop-filter:blur(8px);resize:none;outline:none}
.snap-text-composer textarea::placeholder{color:#ffffffb5}.snap-composer-actions{display:flex;justify-content:center;gap:9px}
.snap-composer-actions button{border:0;border-radius:999px;padding:9px 18px;background:#24131dd9;color:#fff;font-weight:900;box-shadow:0 6px 18px #0005}.snap-composer-actions #doneSnapText{background:var(--pink)}
.snap-text-quick-tools{position:absolute;z-index:14;top:72px;right:10px;display:grid;gap:8px;touch-action:auto}
.snap-text-quick-tools>button,.snap-color-tool{position:relative;display:grid;place-items:center;width:46px;height:46px;margin:0;padding:0;border:1px solid #ffffff55;border-radius:50%;background:#24131dcc;color:#fff;box-shadow:0 7px 22px #0005;backdrop-filter:blur(8px);font-weight:900}
.snap-text-quick-tools>button.active{background:var(--pink)}.snap-color-tool input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:50%;opacity:0;cursor:pointer}.snap-color-tool span{font-size:25px;color:#fff;text-shadow:0 0 0 #fff}.snap-color-tool.outline span{font-size:23px}
.snap-editor-panel.symbol-panel-only{max-height:min(78%,620px)}
@media(max-width:800px){
  .snap-text-composer{position:fixed;z-index:110;inset:20% 12px auto;justify-content:flex-start}.snap-text-composer textarea{min-height:105px;font-size:24px}
  .snap-text-quick-tools{top:64px;right:8px;gap:7px}.snap-text-quick-tools>button,.snap-color-tool{width:42px;height:42px}
  .snap-editor-panel.symbol-panel-only{max-height:min(72vh,590px)}
}


/* Direct font and outline bars V1.15.2 */
.snap-font-bar{position:absolute;z-index:15;top:10px;right:66px;bottom:auto;left:10px;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:6px;padding:0;background:transparent;touch-action:auto;direction:ltr}
.snap-font-track{display:flex;gap:7px;overflow-x:auto;min-width:0;scrollbar-width:none;direction:ltr;overscroll-behavior-x:contain}.snap-font-track::-webkit-scrollbar{display:none}
.snap-font-choice{flex:0 0 auto;min-width:58px;height:42px;padding:4px 10px;border:1px solid #ffffff55;border-radius:10px;background:#24131dcc;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:20px;line-height:1;box-shadow:0 6px 18px #0004;backdrop-filter:blur(7px)}.snap-font-choice.active{background:var(--pink);color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#ffffffaa}
.snap-font-nav{display:grid;place-items:center;width:36px;height:42px;padding:0;border:1px solid #ffffff55;border-radius:10px;background:#24131ddd;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:25px;line-height:1;box-shadow:0 6px 18px #0004}
.snap-outline-bar{position:absolute;z-index:20;top:178px;right:64px;width:min(255px,calc(100% - 82px));padding:11px 13px;border-radius:14px;background:#fff;color:var(--dark);box-shadow:0 12px 35px #0006;touch-action:auto}
.snap-outline-bar strong{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.8rem}.snap-outline-bar output{color:var(--pink)}.snap-outline-bar input{display:block;width:100%;margin:0}
@media(max-width:800px){
  .snap-font-bar{top:8px;right:58px;bottom:auto;left:8px}.snap-font-choice{min-width:54px;height:40px;font-size:18px}.snap-font-nav{height:40px}
  .snap-outline-bar{top:164px;right:58px;width:min(245px,calc(100% - 70px))}
}


/* Text selection tool order V1.15.3 */
.snap-text-quick-tools>.snap-tool-button{width:46px;height:46px;min-height:46px;border-radius:50%;padding:0}
@media(max-width:800px){.snap-text-quick-tools>.snap-tool-button{width:42px;height:42px;min-height:42px}}

/* Rainbow text color icon */
.snap-text-quick-tools>.snap-color-tool:not(.outline){
  border:3px solid #fff;
  background:radial-gradient(circle,#ffffff65 0%,transparent 72%),conic-gradient(from 0deg,#65c887,#42b8ba,#558bdd,#b675bf,#e17598,#ed915d,#e9ce48,#badc54,#65c887);
  box-shadow:0 2px 9px #0005;
  backdrop-filter:none;
}
.snap-text-quick-tools>.snap-color-tool:not(.outline)>span{display:none}
.snap-text-quick-tools>.snap-color-tool:not(.outline):focus-within{outline:2px solid #fff;outline-offset:3px}


/* Tools straddle their original preview edges. */
.legacy-text-switch,.tools-card>hr{display:none!important}
.preview-card{padding:42px 24px 115px;min-width:0;gap:10px}
.canvas-wrap{overflow:visible}
.snap-toolbar{top:0;right:-26px}
.snap-text-quick-tools{top:62px;right:-23px}
.snap-font-bar{top:-21px;right:40px;left:0}
.canvas-controls{bottom:-24px}
.canvas-control-popover{top:calc(100% + 8px);bottom:auto}
.snap-outline-bar{top:170px;right:-23px}
.drag-hint{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;font-size:.72rem}
.hero{margin-bottom:18px}.hero .site-logo{max-height:100px;margin-bottom:8px}
@media(max-width:800px){
.preview-card{position:relative;padding:34px 20px 115px}
.snap-toolbar{top:0;right:-23px}
.snap-text-quick-tools{top:57px;right:-21px}
.snap-font-bar{top:-20px;right:34px;left:0}
.canvas-controls{bottom:-24px;gap:6px;padding:6px 8px}
.snap-outline-bar{top:155px;right:-21px}
.snap-tool-button{box-shadow:0 3px 10px #0003}
.step-block{margin-bottom:16px}.step-title{margin-bottom:12px}.step-title h2{font-size:1.1rem}
}

/* Template order uses the same ascending order as size management. */
.template-list-head,.template-editor{grid-template-columns:64px minmax(100px,150px) 65px 60px minmax(180px,1fr) 78px;gap:10px}
.template-sort{gap:4px}.template-sort>span{display:none}.template-sort input{padding:8px;width:100%}
@media(max-width:1100px){.template-list-head,.template-editor{grid-template-columns:60px minmax(100px,1fr) 65px 60px minmax(150px,1fr) 78px}}
@media(max-width:700px){.template-editor{grid-template-columns:56px minmax(0,1fr) 58px}.template-sort>span{display:block;font-size:.7rem;color:var(--muted)}.replace-image{grid-column:1}.compact-checks{grid-column:2/-1;padding-top:0}.template-actions{grid-column:1/-1;justify-content:flex-end}}
