body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sidebar{background-color:#f5f5f5;height:100%;padding-top:64px}.app-bar{z-index:1400}.drawer{width:240px}.main-content{margin-left:240px;padding:16px}.footer{background-color:#333;bottom:0;color:#fff;padding:16px 0;position:relative;text-align:center;width:100%}.settings-layout{background-color:#f7f8fa;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:calc(100vh - 80px)}.settings-sidebar{background:#fff;border-right:1px solid #e1e4e8;display:flex;flex-direction:column;overflow-y:auto;width:280px}.settings-header{align-items:center;border-bottom:1px solid #e1e4e8;display:flex;justify-content:space-between;padding:20px 24px}.settings-header h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.close-settings{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:20px;padding:4px 8px;transition:all .2s}.close-settings:hover{background:#f0f0f0;color:#333}.settings-search{padding:16px 24px;position:relative}.settings-search-input{border:1px solid #e1e4e8;border-radius:6px;font-size:14px;outline:none;padding:8px 12px 8px 36px;transition:all .2s;width:100%}.settings-search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-icon{font-size:14px;left:34px;opacity:.5;position:absolute;top:50%;transform:translateY(-50%)}.settings-nav{flex:1 1;padding:8px 16px}.settings-nav-item{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;margin-bottom:4px;padding:12px 16px;position:relative;text-align:left;transition:all .2s;width:100%}.settings-nav-item:hover{background:#f7f8fa}.settings-nav-item.active{background:#f0f3ff;color:#667eea}.nav-icon{font-size:20px;margin-right:12px;min-width:24px}.nav-content{flex:1 1}.nav-title{color:#1a1a1a;font-size:14px;font-weight:500;margin-bottom:2px}.settings-nav-item.active .nav-title{color:#667eea}.nav-description{color:#666;font-size:12px;line-height:1.3}.nav-indicator{color:#667eea;font-size:18px;position:absolute;right:16px}.settings-sidebar-footer{border-top:1px solid #e1e4e8;padding:16px}.settings-footer-btn{align-items:center;background:none;border:1px solid #e1e4e8;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:13px;gap:8px;margin-bottom:8px;padding:10px 12px;transition:all .2s;width:100%}.settings-footer-btn:hover{background:#f7f8fa;border-color:#667eea;color:#667eea}.settings-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.settings-breadcrumb{background:#fff;border-bottom:1px solid #e1e4e8;color:#666;font-size:13px;padding:16px 32px}.settings-breadcrumb span{cursor:pointer}.settings-breadcrumb span:hover:not(.breadcrumb-separator):not(.breadcrumb-current){color:#667eea;text-decoration:underline}.breadcrumb-separator{cursor:default!important;margin:0 8px}.breadcrumb-current{color:#1a1a1a;cursor:default!important;font-weight:500}.unsaved-changes-banner{align-items:center;animation:slideDown .3s ease;background:#fff3cd;border-bottom:1px solid #ffeaa7;display:flex;justify-content:space-between;padding:12px 32px}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.unsaved-changes-banner span{color:#856404;font-size:14px;font-weight:500}.unsaved-actions{display:flex;gap:12px}.btn-discard{background:#fff;border:1px solid #856404;border-radius:6px;color:#856404;cursor:pointer;font-size:13px;padding:6px 16px;transition:all .2s}.btn-discard:hover{background:#fff9e6}.btn-save{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s}.btn-save:hover{background:#5a67d8}.settings-panel{background:#f7f8fa;flex:1 1;overflow-y:auto;padding:32px}@media (max-width:768px){.settings-sidebar{position:fixed;transform:translateX(-100%);transition:transform .3s ease;width:100%;z-index:1000}.settings-sidebar.mobile-open{transform:translateX(0)}.settings-content{margin-left:0}}@-webkit-keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;display:inline-block;max-width:100%;position:relative}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{-webkit-box-sizing:border-box;box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-height:inherit;max-width:100%}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{-ms-touch-action:none;touch-action:none}.ReactCrop__crop-mask{bottom:0;height:calc(100% + .5px);left:0;pointer-events:none;position:absolute;right:0;top:0;width:calc(100% + .5px)}.ReactCrop__crop-selection{cursor:move;left:0;position:absolute;top:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);bottom:-1px;content:"";left:-1px;opacity:.3;pointer-events:none;position:absolute;right:-1px;top:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){-webkit-animation:marching-ants 1s;animation:marching-ants 1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-play-state:running;animation-play-state:running;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-image:-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444));background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;color:#fff}.ReactCrop__crop-selection:focus{outline:2px solid #08f;outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{background-color:#fff6;content:"";display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{height:100%;width:1px}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{height:1px;width:100%}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{background-color:#0003;background-color:var(--rc-drag-handle-bg-colour);border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);height:12px;height:var(--rc-drag-handle-size);position:absolute;width:12px;width:var(--rc-drag-handle-size)}.ReactCrop__drag-handle:focus{background:#08f;background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;left:0}.ReactCrop .ord-n,.ReactCrop .ord-nw{top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;left:50%}.ReactCrop .ord-ne{cursor:ne-resize;top:0}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%}.ReactCrop .ord-se{bottom:0;cursor:se-resize;right:0;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;left:50%}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;left:0}.ReactCrop .ord-w{cursor:w-resize;left:0;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{height:6px;height:var(--rc-drag-bar-size);left:0;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%}.ReactCrop__drag-bar.ord-e{height:100%;right:0;top:0;-webkit-transform:translate(50%);transform:translate(50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop__drag-bar.ord-s{bottom:0;height:6px;height:var(--rc-drag-bar-size);left:0;-webkit-transform:translateY(50%);transform:translateY(50%);width:100%}.ReactCrop__drag-bar.ord-w{height:100%;left:0;top:0;-webkit-transform:translate(-50%);transform:translate(-50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{height:24px;height:var(--rc-drag-handle-mobile-size);width:24px;width:var(--rc-drag-handle-mobile-size)}}.template-canvas{transition:all .2s ease}.template-canvas.drag-over{background-color:#e3f2fd!important;border-color:#1976d2!important}.template-component{transition:all .2s ease;-webkit-user-select:none;user-select:none}.template-component:hover{box-shadow:0 2px 8px #00000026}.template-component.selected{box-shadow:0 0 0 2px #1976d2}.template-component.dragging{opacity:.5;transform:rotate(2deg)}.drop-zone{opacity:0;transition:all .2s ease}.drop-zone.drag-over{background-color:#e3f2fd!important;border:2px dashed #1976d2!important;opacity:1!important}.component-library .MuiListItem-root{cursor:grab;transition:all .2s ease}.component-library .MuiListItem-root:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.component-library .MuiListItem-root:active{cursor:grabbing}.template-preview{transition:all .3s ease}.template-preview img{border-radius:4px;height:auto;max-width:100%}.template-preview table{border-collapse:collapse;margin:10px 0;width:100%}.template-preview td,.template-preview th{border:1px solid #ddd;padding:8px 12px;text-align:left}.template-preview th{background-color:#f5f5f5;font-weight:600}@media (max-width:768px){.template-canvas{min-height:300px}.template-component{margin-bottom:8px}.drop-zone{height:15px}}@keyframes componentInsert{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.template-component.new{animation:componentInsert .3s ease-out}.drag-ghost{opacity:.5;pointer-events:none;transform:rotate(2deg)}.template-card{transition:all .2s ease}.template-card:hover{box-shadow:0 4px 20px #0000001a;transform:translateY(-2px)}.component-loading{opacity:.6;pointer-events:none}.component-success{background-color:#e8f5e8!important;border-color:#4caf50!important}.component-error{background-color:#ffebee!important;border-color:#f44336!important}.master-admin-login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.master-admin-login-box{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:480px;padding:3rem;width:100%}.master-admin-header{margin-bottom:2rem;text-align:center}.shield-icon{font-size:4rem;margin-bottom:1rem}.master-admin-header h1{color:#2d3748;font-size:2rem;margin:0 0 .5rem}.subtitle{color:#718096;font-size:.95rem;margin:0}.master-admin-form{margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#2d3748;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.875rem;transition:all .2s;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.error-message{align-items:center;background-color:#fff5f5;border:1px solid #fc8181;border-radius:8px;color:#c53030;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.error-icon{font-size:1.25rem}.master-admin-login-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .2s;width:100%}.master-admin-login-btn:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.master-admin-login-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.lock-icon{font-size:1.25rem}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.security-notice{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.security-notice p{color:#2d3748;font-size:.9rem;margin:0 0 .75rem}.security-notice ul{color:#4a5568;font-size:.85rem;margin:0;padding-left:1.5rem}.security-notice li{margin-bottom:.5rem}.security-notice li:last-child{margin-bottom:0}.back-link{text-align:center}.back-link a{color:#667eea;font-size:.9rem;text-decoration:none;transition:color .2s}.back-link a:hover{color:#764ba2;text-decoration:underline}@media (max-width:640px){.master-admin-login-container{padding:1rem}.master-admin-login-box{padding:2rem 1.5rem}.master-admin-header h1{font-size:1.75rem}.shield-icon{font-size:3rem}}.not-found-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.not-found-content{color:#fff;max-width:600px;padding:2rem;text-align:center}.not-found-code{animation:fadeInScale .6s ease-out;font-size:10rem;font-weight:800;line-height:1;margin-bottom:1rem;text-shadow:0 10px 30px #0000004d}.not-found-title{animation:fadeInUp .6s ease-out .2s backwards;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.not-found-description{animation:fadeInUp .6s ease-out .4s backwards;font-size:1.25rem;line-height:1.6;margin-bottom:2.5rem;opacity:.9}.not-found-actions{animation:fadeInUp .6s ease-out .6s backwards;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.not-found-button{border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .3s ease}.not-found-button.primary{background:#fff;color:#667eea}.not-found-button.primary:hover{box-shadow:0 10px 25px #0003;transform:translateY(-2px)}.not-found-button.secondary{background:#fff3;border:2px solid #ffffff80;color:#fff}.not-found-button.secondary:hover{background:#ffffff4d;border-color:#fffc;transform:translateY(-2px)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.not-found-code{font-size:6rem}.not-found-title{font-size:2rem}.not-found-description{font-size:1rem}.not-found-actions{flex-direction:column}.not-found-button{width:100%}}