/*! © 2026 Nextooly. All rights reserved. Unauthorized reproduction or distribution is strictly prohibited. */.font-helvetica{font-family:Helvetica,Arial,sans-serif}.font-times{font-family:Times New Roman,Times,serif}.font-courier{font-family:Courier New,Courier,monospace}.font-roboto{font-family:Roboto,sans-serif}.font-opensans{font-family:Open Sans,sans-serif}.font-lato{font-family:Lato,sans-serif}.font-montserrat{font-family:Montserrat,sans-serif}.font-oswald{font-family:Oswald,sans-serif}.font-playfair{font-family:Playfair Display,serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:10px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#64748b}.tool-container{font-family:Plus Jakarta Sans,Inter,sans-serif;position:relative;width:100%;height:auto!important;min-height:100vh;z-index:200!important;margin:0;display:flex;flex-direction:column;background:#f1f5f9;overflow:visible!important;gap:0!important}.top-nav{height:48px!important;min-height:48px!important;max-height:48px!important;background:#1e293b;color:#f8fafc;display:flex;align-items:center;padding:0 1rem;position:sticky;top:0;z-index:9999;margin-bottom:0!important;border-bottom:none!important}main{padding-top:0!important}h1,nav[aria-label=breadcrumb],p.text-muted-foreground{display:none!important;height:0!important;margin:0!important;padding:0!important}nav[aria-label=breadcrumb]{display:none!important}.nav-brand{font-size:1.1rem;font-weight:700;color:white;margin-right:1rem;white-space:nowrap;padding-left:.5rem}.nav-divider{width:1px;height:24px;background:#475569;margin:0 .5rem}.nav-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;color:#cbd5e1;font-size:.85rem;font-weight:500;transition:all .2s;cursor:pointer;border:1px solid transparent;white-space:nowrap}.nav-btn:hover{background:rgba(255,255,255,.1);color:white}.nav-btn.active{background:rgba(59,130,246,.2);color:#60a5fa;border-color:rgba(59,130,246,.4)}.nav-btn-icon-only{padding:.6rem;border-radius:50%}.nav-btn-primary{background:#3b82f6;color:white;padding:.5rem 1.25rem;font-weight:600}.nav-btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(59,130,246,.4)}.nav-dropdown-container{position:relative}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background:white;border-radius:8px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);border:1px solid #e2e8f0;width:200px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;z-index:100;transform-origin:top left;animation:scaleIn .1s ease-out}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:4px;color:#475569;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s}.dropdown-item:hover{background:#f1f5f9;color:#1e293b}.dropdown-item.active{background:#eff6ff;color:#3b82f6}.context-toolbar{position:sticky;top:48px;z-index:9998;height:48px;min-height:48px;background:white;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;padding:0 1rem;gap:.75rem;box-shadow:0 4px 6px -4px rgba(0,0,0,.1);margin-top:0!important}.context-divider{width:1px;height:24px;background:#cbd5e1}.toolbar-select{padding:4px 8px;border:1px solid #cbd5e1;font-size:.85rem;color:#334155;outline:none;background:white;min-width:90px}.toolbar-btn,.toolbar-select{border-radius:4px;cursor:pointer}.toolbar-btn{display:flex;align-items:center;justify-content:center;padding:6px;color:#475569;transition:all .2s;border:1px solid transparent}.toolbar-btn:hover{background:#f1f5f9;color:#0f172a}.toolbar-btn.active{background:#e2e8f0;color:#0f172a}.toolbar-btn.danger:hover{background:#fef2f2;color:#ef4444}.editor-workspace{flex:1;flex-direction:column;padding:0!important;margin:0!important;background-color:#f1f5f9}.editor-workspace,.workspace-scroll-area{display:flex;overflow:visible!important;position:relative;height:auto!important}.workspace-scroll-area{flex:1;padding:3rem;justify-content:center;background-image:radial-gradient(#cbd5e1 1px,transparent 0);background-size:24px 24px}.page-container{margin:auto;background:white;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);position:relative;display:inline-block}.page-container canvas{display:block}.ml-auto{margin-left:auto}.top-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:#64748b;cursor:pointer;border:1px solid transparent;transition:all .2s}.top-action-btn:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-content{background:white;padding:2rem;border-radius:16px;width:420px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.dropzone{user-select:none;-webkit-user-select:none;border:2px dashed #cbd5e1;padding:4rem;text-align:center;cursor:pointer;border-radius:1rem;background:white;transition:all .2s}.dropzone:hover{border-color:#3b82f6;background:#eff6ff}.selected-outline{outline:1px solid #3b82f6;outline-offset:2px}.resize-handle{position:absolute;width:12px;height:12px;background:#3b82f6;border:2px solid white;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2);z-index:50}.handle-se{bottom:-6px;right:-6px;cursor:se-resize}.move-handle{left:0;background:#3b82f6;cursor:move}.delete-handle,.move-handle{position:absolute;top:-24px;color:white;padding:4px;border-radius:4px;display:flex;z-index:50;box-shadow:0 2px 4px rgba(0,0,0,.1)}.delete-handle{right:0;left:auto;background:#ef4444;cursor:pointer}.color-picker,.property-input{padding:.5rem .75rem;background:white;border:1px solid #cbd5e1;color:#334155;border-radius:6px;font-size:.85rem;outline:none;transition:all .2s}.text-layer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;pointer-events:none}.text-line-item{position:absolute;cursor:text;pointer-events:auto;border-radius:4px;background:rgba(59,130,246,.1);border:1px dashed rgba(59,130,246,.3);transition:all .1s}.text-line-item:hover{background:rgba(59,130,246,.25);outline:1px solid #3b82f6;z-index:10}.page-grid-overlay{position:fixed;inset:0;background:#f8fafc;z-index:10000!important;display:flex;flex-direction:column;padding:2rem}.page-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.page-grid-content{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:max-content;gap:2rem;padding-bottom:4rem;min-height:0}.page-grid-content::-webkit-scrollbar{width:8px}.page-grid-content::-webkit-scrollbar-track{background:transparent}.page-grid-content::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:4px;border:2px solid #f8fafc}.page-grid-content::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.page-card{background:white;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.03);display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease;border:2px solid transparent;position:relative}.page-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1);border-color:#3b82f6}.page-card-preview{height:200px;width:100%;background:#f1f5f9;display:flex;justify-content:center;align-items:center;position:relative;padding:1rem;cursor:pointer;overflow:hidden}.page-thumbnail-img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 4px 6px rgba(0,0,0,.1);background:white;transition:transform .2s}.page-card-actions{position:absolute;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;opacity:0;transition:opacity .2s}.page-card:hover .page-card-actions{opacity:1}.card-action-btn{background:white;color:#1e293b;border-radius:6px;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:transform .1s;width:80%;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.1)}.card-action-btn:hover{transform:scale(1.02)}.card-action-btn.danger{background:#fee2e2;color:#dc2626}.card-action-btn.danger:hover{background:#fecaca}.page-card-footer{padding:1rem;background:white;border-top:1px solid #f1f5f9;color:#64748b;font-weight:600;font-size:.9rem}.footer-row,.page-card-footer{display:flex;justify-content:space-between;align-items:center}.footer-row{width:100%}.footer-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:6px;margin:0 2px;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;gap:4px}.footer-btn:hover{background:#e2e8f0;color:#0f172a}.footer-btn.danger:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.move-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#64748b;border:1px solid #e2e8f0;transition:all .1s}.move-btn:hover:not(:disabled){background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}.move-btn:disabled{opacity:.3;cursor:not-allowed}@media (max-width:768px){.top-nav{overflow-x:auto;gap:.5rem;padding-right:1rem}.nav-btn,.nav-btn span{font-size:0}.nav-btn svg{margin:0;width:20px;height:20px}.nav-brand{font-size:1rem;display:block}.context-toolbar{overflow-x:auto;width:100%;padding-right:1rem;-webkit-overflow-scrolling:touch}.page-grid-content{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;padding:1rem}.bottom-bar-container{bottom:1rem;max-width:90%}.modal-content{width:95%!important;padding:1rem;max-height:90vh;overflow-y:auto}.nav-dropdown-menu{position:fixed;top:50px;left:10px;right:10px;width:auto!important;max-height:50vh;overflow-y:auto}}.mobile-upload-msg{display:none}@media (max-width:768px){.mobile-upload-msg{display:block;margin-top:1rem;padding:.75rem;background-color:#fff7ed;color:#c2410c;border:1px solid #fdba74;border-radius:8px;font-size:.85rem;line-height:1.4}}.loading-overlay{position:fixed;inset:0;background:rgba(255,255,255,.8);backdrop-filter:blur(2px);z-index:10001;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}