.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-container{background:#fff;padding:40px;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px}.login-container h1{margin-bottom:24px;text-align:center;color:#1e293b}.register-link{text-align:center;margin-top:24px;color:#64748b}.register-link a{color:#3b82f6;text-decoration:none}.register-link a:hover{text-decoration:underline}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.register-container{background:#fff;padding:40px;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:450px}.register-container h1{margin-bottom:24px;text-align:center;color:#1e293b}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#475569;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#3b82f6}.form-group small{display:block;margin-top:4px;color:#64748b;font-size:12px}.error-message{background:#fee2e2;color:#dc2626;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.submit-btn{width:100%;padding:12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.submit-btn:hover:not(:disabled){background:#2563eb}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-link{text-align:center;margin-top:24px;color:#64748b}.login-link a{color:#3b82f6;text-decoration:none}.login-link a:hover{text-decoration:underline}.dashboard{max-width:1200px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.dashboard-header h1{font-size:32px;color:#1e293b}.create-site-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#3b82f6;color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:background .2s}.create-site-btn:hover{background:#2563eb}.dashboard-loading{text-align:center;padding:60px;font-size:18px;color:#64748b}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:40px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:20px}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.stat-content h3{font-size:32px;font-weight:700;color:#1e293b;margin-bottom:4px}.stat-content p{color:#64748b;font-size:14px}.quick-actions{margin-top:40px}.quick-actions h2{font-size:24px;color:#1e293b;margin-bottom:24px}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.action-card{background:#fff;padding:32px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;text-align:center}.action-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.action-card svg{color:#3b82f6;margin-bottom:16px}.action-card h3{font-size:20px;color:#1e293b;margin-bottom:8px}.action-card p{color:#64748b;font-size:14px}.block-palette{width:280px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto}.palette-header{padding:16px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.palette-header h3{font-size:16px;font-weight:600;color:#1e293b}.palette-content{flex:1;padding:16px;overflow-y:auto}.palette-category{margin-bottom:24px}.palette-category h4{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;margin-bottom:12px;letter-spacing:.5px}.palette-blocks{display:flex;flex-direction:column;gap:8px}.palette-block{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;width:100%}.palette-block:hover{background:#f1f5f9;border-color:#3b82f6;transform:translate(4px)}.block-icon{font-size:24px;line-height:1}.block-name{font-size:14px;color:#1e293b;font-weight:500}.block{margin-bottom:16px}.hero-block{padding:80px 40px;text-align:center;border-radius:8px;position:relative}.hero-block:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;border-radius:8px}.hero-content{position:relative;z-index:1}.hero-block h1{font-size:48px;font-weight:700;margin-bottom:16px}.hero-subtitle{font-size:20px;margin-bottom:24px;opacity:.9}.hero-cta{display:inline-block;padding:12px 32px;background:#fff3;color:inherit;text-decoration:none;border-radius:6px;border:2px solid currentColor;font-weight:500;transition:all .2s}.hero-cta:hover{background:#ffffff4d}.menu-block{padding:24px}.menu-grid{display:grid;gap:24px}.menu-item{background:#f8fafc;padding:16px;border-radius:8px;text-align:center}.menu-item-image{width:100%;height:200px;object-fit:cover;border-radius:6px;margin-bottom:12px}.menu-item h3{font-size:18px;margin-bottom:8px;color:#1e293b}.menu-item-price{font-size:20px;font-weight:600;color:#3b82f6}.gallery-block{padding:24px}.gallery-grid{display:grid}.gallery-item{overflow:hidden;border-radius:8px}.gallery-item img{width:100%;height:200px;object-fit:cover;transition:transform .2s}.gallery-item:hover img{transform:scale(1.05)}.gallery-empty{text-align:center;padding:40px;color:#94a3b8;background:#f8fafc;border-radius:8px}.contact-block{padding:24px;max-width:600px;margin:0 auto}.contact-form{display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-weight:500;color:#475569}.form-field input,.form-field textarea{padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;font-family:inherit}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:#3b82f6}.submit-button{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.submit-button:hover{background:#2563eb}.text-block{padding:24px;line-height:1.6;color:#1e293b}.image-block{padding:24px}.image-placeholder{padding:40px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;text-align:center;color:#94a3b8}.block-settings{background:#fff}.settings-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid #e2e8f0}.settings-header h4{font-size:16px;font-weight:600;color:#1e293b}.close-btn{padding:4px;background:transparent;border:none;cursor:pointer;color:#64748b;border-radius:4px;transition:all .2s}.close-btn:hover{background:#f1f5f9;color:#1e293b}.settings-content{display:flex;flex-direction:column;gap:16px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field label{font-size:14px;font-weight:500;color:#475569;text-transform:capitalize}.settings-field input[type=text],.settings-field input[type=url],.settings-field input[type=number],.settings-field textarea{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;transition:border-color .2s}.settings-field input:focus,.settings-field textarea:focus{outline:none;border-color:#3b82f6}.color-input-group{display:flex;gap:8px;align-items:center}.color-input-group input[type=color]{width:60px;height:40px;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer}.color-text-input{flex:1}.checkbox-field{flex-direction:row;align-items:center;gap:8px}.checkbox-field label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-field input[type=checkbox]{width:18px;height:18px;cursor:pointer}.block-editor{background:#fff;border:2px solid #e2e8f0;border-radius:8px;margin-bottom:16px;transition:all .2s}.block-editor:hover{border-color:#3b82f6}.block-editor.dragging{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.block-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.block-handle{cursor:grab;color:#94a3b8;display:flex;align-items:center}.block-handle:active{cursor:grabbing}.block-type{flex:1;font-size:12px;color:#64748b;text-transform:capitalize;font-weight:500}.block-actions{display:flex;gap:4px}.toolbar-btn{padding:6px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#64748b;transition:all .2s;display:flex;align-items:center;justify-content:center}.toolbar-btn:hover{background:#e2e8f0;color:#1e293b}.toolbar-btn.delete:hover{background:#fee2e2;color:#dc2626}.block-preview{padding:16px;min-height:100px}.block-settings-panel{border-top:1px solid #e2e8f0;background:#f8fafc;padding:16px}.preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.preview-modal{background:#fff;border-radius:12px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.preview-header h3{font-size:20px;font-weight:600;color:#1e293b}.preview-header .close-btn{padding:8px;background:transparent;border:none;cursor:pointer;color:#64748b;border-radius:6px;transition:all .2s}.preview-header .close-btn:hover{background:#f1f5f9;color:#1e293b}.preview-content{flex:1;overflow-y:auto;padding:24px}.preview-empty{text-align:center;padding:60px;color:#94a3b8}.site-builder{display:flex;flex-direction:column;height:calc(100vh - 48px);background:#f5f5f5}.builder-header{background:#fff;padding:16px 24px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:16px}.back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;color:#475569;transition:background .2s}.back-btn:hover{background:#e2e8f0}.builder-title{flex:1;display:flex;gap:12px}.site-name-input{flex:1;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:16px;font-weight:500}.site-type-select{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer}.builder-actions{display:flex;gap:12px}.preview-btn,.save-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.preview-btn{background:#f1f5f9;color:#475569}.preview-btn:hover{background:#e2e8f0}.save-btn{background:#3b82f6;color:#fff}.save-btn:hover:not(:disabled){background:#2563eb}.save-btn:disabled{opacity:.6;cursor:not-allowed}.builder-content{flex:1;display:flex;overflow:hidden}.builder-canvas{flex:1;padding:24px;overflow-y:auto;background:#fff;margin:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-canvas{display:flex;align-items:center;justify-content:center;min-height:400px;color:#94a3b8;font-size:16px}.site-builder-loading{text-align:center;padding:60px;font-size:18px;color:#64748b}.site-list{max-width:1200px;margin:0 auto}.site-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.site-list-header h1{font-size:32px;color:#1e293b}.create-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#3b82f6;color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:background .2s}.create-btn:hover{background:#2563eb}.site-list-loading{text-align:center;padding:60px;font-size:18px;color:#64748b}.empty-state{text-align:center;padding:80px 20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-state svg{color:#cbd5e1;margin-bottom:24px}.empty-state h2{font-size:24px;color:#1e293b;margin-bottom:8px}.empty-state p{color:#64748b;margin-bottom:32px}.sites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.site-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.site-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.site-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.site-card-header h3{font-size:20px;color:#1e293b;flex:1}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.published{background:#d1fae5;color:#065f46}.status-badge.draft{background:#fef3c7;color:#92400e}.site-type{color:#64748b;font-size:14px;margin-bottom:20px;text-transform:capitalize}.site-card-actions{display:flex;gap:8px}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.action-btn.edit{background:#3b82f6;color:#fff}.action-btn.edit:hover{background:#2563eb}.action-btn.delete{background:#ef4444;color:#fff}.action-btn.delete:hover{background:#dc2626}.layout{display:flex;min-height:100vh}.sidebar{width:260px;background:#1e293b;color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0}.sidebar-header{padding:24px 20px;border-bottom:1px solid #334155}.sidebar-header h2{font-size:20px;font-weight:600;margin-bottom:8px}.tenant-name{font-size:14px;color:#94a3b8}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#cbd5e1;text-decoration:none;transition:all .2s}.nav-item:hover{background:#334155;color:#fff}.nav-item.active{background:#3b82f6;color:#fff}.sidebar-footer{padding:20px;border-top:1px solid #334155}.user-info{margin-bottom:12px}.user-info p{font-size:14px;margin-bottom:4px}.user-role{font-size:12px;color:#94a3b8;text-transform:capitalize}.logout-btn{width:100%;display:flex;align-items:center;gap:8px;padding:10px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.logout-btn:hover{background:#dc2626}.main-content{flex:1;margin-left:260px;padding:24px;background:#f5f5f5;min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
