:root{--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: #e5edff;--accent-lighter: #eef4ff;--accent-ring: rgba(37, 99, 235, .25);--success: #16a34a;--success-dark: #15803d;--success-light: #bbf7d0;--success-bg: #ecfdf5;--error-dark: #b91c1c;--error-bright: #ef4444;--error-light: #fecaca;--error-bg: #fef2f2;--warning-dark: #b45309;--warning-notice: #9a3412;--warning-light: #fed7aa;--warning-bg: #fff7ed;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 6px 18px rgba(0, 0, 0, .14);--shadow-lg: 0 14px 40px rgba(0, 0, 0, .18);--shadow-overlay: rgba(0, 0, 0, .5);--shadow-accent: rgba(37, 99, 235, .25);--bg-subtle: #f9fafb;--bg-hover: #f5f7fb;--bg-active: #e9ebf3;--page-bg: #f5f7fb;--panel-bg: #ffffff;--preview-page-bg: #ffffff;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--text-placeholder: #9ca3af;--text-code: #1f2937;--icon: #272727;--icon-disabled: #9ca3af;--border: #dfe3eb;--border-light: #e7ebf2}*{box-sizing:border-box}body{margin:0;background:var(--page-bg);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:var(--accent);text-decoration:none}button{font-family:inherit}.app-shell{min-height:100vh;color:var(--text-primary)}.container{max-width:1200px;margin:0 auto;width:100%;padding:0 20px}.header{background:#0a0a0f;position:sticky;top:0;z-index:20;height:55px}.header>.container{display:flex;align-items:center;gap:16px;padding-top:13px;padding-bottom:13px;max-width:none}.header-left{display:inline-flex;align-items:center;gap:10px}.header-right{display:inline-flex;align-items:center;gap:12px;margin-left:auto}.header-logo{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#fff;margin-right:18px}.header-logo img{height:22px;width:auto;position:relative;top:-2px}.nav-link{display:inline-flex;align-items:center;gap:8px;padding:3px 9px;font-size:13px;border-radius:5px;color:#fff9;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link.active{color:#fff;background:#fff3}.app-main{padding-top:40px;padding-bottom:40px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}.page-title{margin:0;font-size:20px;line-height:1.2;font-weight:600;color:var(--text-primary);flex:1;white-space:nowrap}.page-header-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);white-space:nowrap}.page-header-meta-separator{color:var(--border)}.panel{background:#fff;border:1px solid var(--border);border-radius:5px;box-shadow:0 6px 16px #0e1e250f;margin-bottom:24px}.panel:last-child{margin-bottom:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.panel-title{margin:0;font-size:18px;font-weight:700;color:var(--text-primary)}.panel-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:16px}.tab-bar{display:flex;gap:16px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.tab-button{position:relative;padding:14px 4px;font-size:14px;font-weight:600;color:var(--text-muted);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:color .12s ease,border-color .12s ease}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--accent);border-color:var(--accent)}.auth-page{min-height:100vh;background:var(--page-bg);display:flex;align-items:center;justify-content:center;padding:48px 16px}.auth-card{background:#fff;border:1px solid var(--border);border-radius:5px;padding:32px;width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:16px}.auth-title{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--text-primary)}.auth-subtitle{margin:0;color:var(--text-muted)}.auth-logo{height:32px;width:auto;margin-bottom:16px}.auth-form{display:flex;flex-direction:column;gap:16px}.form-actions{display:flex;flex-direction:column;gap:12px}.auth-note{font-size:14px;color:var(--text-muted);text-align:center}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 6px;color:var(--text-muted);font-size:14px;text-align:center}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}textarea{font:inherit}.page-state{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page-bg)}.state-content{display:inline-flex;align-items:center;gap:12px;color:var(--text-muted)}.state-text{font-size:15px}.loader-row{display:inline-flex;align-items:center;gap:10px;color:var(--text-muted);font-size:15px}.alert{padding:16px 18px;border-radius:5px;border:1px solid var(--border);background:#fff;color:var(--text-primary);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.alert .state-content{color:inherit}.alert-dismiss{background:none;border:none;cursor:pointer;padding:4px;color:inherit;opacity:.6;flex-shrink:0;display:flex;align-items:center}.alert-dismiss:hover{opacity:1}.alert-error{padding:12px 14px;border-radius:5px;border:1px solid var(--error-light);background:var(--error-bg);color:var(--error-dark)}.alert-success{border-color:var(--success-light);background:var(--success-bg);color:var(--success-dark)}.empty-state{text-align:center;padding:32px;color:var(--text-secondary)}.empty-state svg{color:var(--icon-disabled);margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.empty-state p{margin:0 0 16px;font-size:14px;color:var(--text-muted)}.empty-state .btn svg{margin-right:6px}.widget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.widget-card{display:flex;flex-direction:column;border-radius:8px;background:#fff;border:1px solid var(--border);overflow:visible;box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.widget-card:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.widget-deleting{opacity:.4;pointer-events:none;transition:opacity .2s ease}.widget-card-preview{height:160px;display:flex;align-items:center;justify-content:center;font-size:0;border-radius:7px 7px 0 0;overflow:hidden}.widget-card-info{padding:12px 14px;border-top:1px solid var(--border);background-color:var(--bg-subtle);border-radius:0 0 7px 7px}.widget-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.widget-card-name{margin:0;font-size:14px;font-weight:600;line-height:1.3;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.widget-card-time{font-size:12px;color:var(--text-muted);margin-top:4px}.widget-card-status-row{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:12px;color:var(--text-muted)}.widget-card-status-row svg{width:14px;height:14px}.widget-kebab-btn{width:28px;height:28px;border-radius:5px;padding:0;background:transparent;border-color:transparent;color:var(--text-muted);flex-shrink:0}.widget-kebab-btn:hover{color:var(--text-primary);background:#eff1f5}.page-header-actions{display:flex;align-items:center;gap:8px}.dropdown-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;background:#fff;border:1px solid var(--border);border-radius:5px;box-shadow:var(--shadow-md);z-index:50;overflow:hidden}.dropdown-menu-items{display:grid;gap:2px;padding:4px}.dropdown-menu-item{display:flex;align-items:center;gap:8px;border:none;background:none;padding:6px 10px;border-radius:5px;width:100%;text-align:left;font-size:12px;color:var(--text-primary);cursor:pointer;transition:background .12s ease,color .12s ease}.dropdown-menu-item:hover{background:var(--bg-hover)}.dropdown-menu-item.danger{color:var(--error-dark)}.dropdown-menu-item svg{width:16px;height:16px}.dropdown-menu-divider{height:1px;margin:2px 4px;background:var(--border)}.dropdown-menu-section{padding:8px 12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.span-2{grid-column:1 / -1}.form-section{display:flex;flex-direction:column;gap:16px}.form-section+.form-section{border-top:1px solid var(--border-light);padding-top:18px}.section-title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.action-row{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.metric-card{padding:18px;border-radius:5px;border:1px solid var(--border);display:flex;flex-direction:column;gap:6px;text-align:center;background:var(--bg-subtle)}.metric-card.blue{background:var(--accent-lighter);border-color:var(--accent-light)}.metric-card.green{background:var(--success-bg);border-color:var(--success-light)}.metric-card.gray{background:var(--bg-hover);border-color:var(--bg-active)}.metric-value{font-size:26px;font-weight:700;color:var(--text-primary)}.metric-label{font-size:13px;color:var(--text-muted);font-weight:600}.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.package-card{position:relative;border:1px solid var(--border);border-radius:5px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 0 0 1px #fff6;background:#fff}.package-card.popular{border-color:var(--accent-light);box-shadow:0 0 0 2px var(--shadow-accent)}.package-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;box-shadow:var(--shadow-sm)}.package-name{margin:0;font-size:18px;font-weight:700;color:var(--text-primary);text-align:center}.package-description{margin:0;color:var(--text-muted);font-size:14px;text-align:center}.package-price{margin:8px 0 0;font-size:32px;font-weight:700;color:var(--text-primary);text-align:center}.package-meta{margin:0;color:var(--text-muted);font-size:14px;text-align:center}.package-rate{margin:4px 0 0;font-size:12px;color:var(--text-muted);text-align:center}.package-footer{margin-top:8px}.purchase-summary{padding:16px;border-radius:5px;background:var(--bg-hover);border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.summary-info{display:flex;flex-direction:column;gap:4px}.summary-title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.summary-subtitle{margin:0;color:var(--text-muted);font-size:14px}.summary-total{text-align:right}.summary-amount{margin:0;font-size:18px;font-weight:700;color:var(--text-primary)}.summary-savings{margin:0;font-size:13px;color:var(--success-dark);font-weight:600}.payment-element{min-height:100px;border-radius:5px;border:1px solid var(--border);padding:12px;background:#fff}.button-row{display:flex;flex-wrap:wrap;gap:12px}.button-row .btn{flex:1}.table-wrapper{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table thead th{text-align:left;padding:12px 14px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:var(--bg-hover);border-bottom:1px solid var(--border)}.data-table tbody td{padding:14px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.chip.green{background:var(--success-bg);color:var(--success-dark)}.chip.red{background:var(--error-bg);color:var(--error-dark)}.status-text{font-weight:600}.status-text.success{color:var(--success-dark)}.status-text.error{color:var(--error-dark)}.status-text.warning{color:var(--warning-dark)}.widget-page{height:100vh;display:flex;flex-direction:column;background:var(--page-bg);overflow:hidden}.widget-header{background:#0a0a0f;position:relative;z-index:20;height:55px}.widget-header>.container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-top:13px;padding-bottom:13px;gap:12px;max-width:none}.widget-header-left{display:flex;align-items:center;gap:12px}.widget-back-slot{display:flex;justify-content:center}.title-group{display:flex;flex-direction:column;gap:2px}.widget-title{margin:0;font-size:15px;font-weight:600;color:#fff;cursor:pointer}.widget-title:hover{color:#ffffffb3}.widget-header-center{display:flex;align-items:center;justify-content:center;gap:16px}.slide-toggle{display:flex;background:var(--bg-active);border-radius:8px;padding:2px}.slide-toggle-btn{padding:8px 16px;border:1px solid var(--bg-active);border-radius:6px;background:transparent;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.slide-toggle-btn:hover{color:var(--text-primary)}.slide-toggle-btn.active{background:#fff;color:var(--text-primary);border:1px solid var(--border)}.widget-header .slide-toggle{background:#ffffff1a}.widget-header .slide-toggle-btn{border-color:transparent;color:#ffffff80}.widget-header .slide-toggle-btn:hover{color:#fff}.widget-header .slide-toggle-btn.active{background:#fff3;color:#fff;border-color:#ffffff26}.widget-header .btn{background:#ffffff1a;border-color:#ffffff26;color:#ffffffd9}.widget-header .btn:hover{background:#ffffff2e}.widget-header .btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.widget-header .btn-primary:hover{background:var(--accent-hover)}.widget-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;justify-self:end}.publish-btn{min-width:90px;justify-content:center}.saving-indicator{display:inline-flex;align-items:center;color:var(--text-muted)}.more-menu-container,.project-menu-container{position:relative}.project-menu-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400}.project-menu-btn .chevron{transition:transform .2s ease;color:#ffffff80}.project-menu-btn .chevron.open{transform:rotate(180deg)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--shadow-overlay);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:5px;box-shadow:var(--shadow-lg);max-width:520px;width:100%}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px}.modal-title{display:flex;align-items:flex-start;gap:12px}.modal-icon{width:32px;height:32px;border-radius:5px;background:var(--error-bg);color:var(--error-bright);display:inline-flex;align-items:center;justify-content:center}.modal-title h3{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text-primary)}.modal-title p{margin:0;color:var(--text-muted);font-size:14px}.modal-close{background:none;border:none;color:var(--text-muted);padding:6px;border-radius:5px;cursor:pointer;transition:color .12s ease,background .12s ease}.modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.widget-json-modal,.widget-code-modal{max-width:90vw;width:90vw;height:90vh;display:flex;flex-direction:column}.widget-code-modal .modal-body{flex:1;overflow:hidden}.widget-code-modal .code-editor-section{flex:1}.widget-code-modal .code-editor-textarea{height:100%}.widget-json-modal .modal-body{flex:1;overflow:hidden;padding:0 24px 24px}.widget-json-pre{flex:1;width:100%;height:100%;overflow:auto;margin:0;padding:16px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:5px;font-size:13px;font-family:monospace;color:var(--text-code);white-space:pre;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.form-field{display:flex;flex-direction:column;gap:4px}.form-label{font-size:13px;font-weight:400;color:var(--text-primary);display:inline-flex;align-items:baseline;gap:3px}.form-control{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:5px;background:#fff;color:var(--text-primary);font-family:inherit;font-size:14px;line-height:1.4;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.form-control::-moz-placeholder{color:var(--text-placeholder)}.form-control::placeholder{color:var(--text-placeholder)}.form-control:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:12px;gap:6px;padding:9px 14px;border-radius:5px;border:1px solid var(--border);background:#fff;color:var(--text-primary);font-weight:400;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease,box-shadow .14s ease,border-color .14s ease}.btn svg{height:1.25em;width:1.25em;margin-top:-.12em;margin-bottom:-.12em}.btn:has(svg:only-child){padding-left:8px;padding-right:8px}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:var(--bg-hover);border-color:var(--border);color:var(--text-muted)}.btn-icon{padding:8px;min-width:auto}.btn-outline{background:#fff;border:1px solid var(--border);color:var(--text-primary)}.btn-outline:hover{background:var(--bg-hover)}.btn.block{width:100%}.link-button{background:none;border:none;color:var(--accent);padding:0;cursor:pointer}.link-button:hover{text-decoration:underline;color:var(--accent-hover)}html:not(.preview-mode){font-optical-sizing:auto;font-size:15px;font-family:Inter,sans-serif;font-weight:400;font-style:normal}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader{border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:spin 1s linear infinite}.state-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:5px;font-size:13px;border:1px solid var(--border)}.state-loading{background:var(--bg-subtle);color:var(--text-muted)}.state-error{background:var(--error-bg);border-color:var(--error-light);color:var(--error-dark)}.retry{color:var(--accent);text-decoration:none;font-weight:600;font-size:12px}.retry:hover{color:var(--accent-hover)}.modal-body{padding:20px 24px;display:flex;gap:14px}.embed-block{background:var(--bg-subtle);border:1px solid var(--border);border-radius:5px;padding:12px;font-size:13px;color:var(--text-code);overflow-x:auto;white-space:pre-wrap}.notice{display:flex;gap:10px;background:var(--warning-bg);border:1px solid var(--warning-light);border-radius:5px;padding:12px;color:var(--warning-notice)}.notice-icon{width:18px;height:18px;flex-shrink:0}.notice-content h3{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--warning-notice)}.notice-content p{margin:0;font-size:13px;color:var(--warning-notice)}.actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--border);background:var(--bg-subtle);border-radius:0 0 5px 5px}.close-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:5px;border:1px solid var(--border);background:#fff;font-weight:600;color:var(--text-primary);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.close-btn:hover{background:var(--bg-hover);border-color:var(--accent-ring)}.status{font-size:12px;color:var(--success)}.user-dropdown{position:relative}.avatar-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;padding:0;margin:0;border:none;background:none;background-color:transparent;color:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none}.avatar-btn:hover{background:none;border:none}.avatar-btn:focus{outline:none}.avatar-btn:focus-visible{outline:none}.avatar-btn:focus-visible .avatar-circle{outline:2px solid var(--accent);outline-offset:2px}.avatar-circle{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.chevron{width:14px;height:14px;color:#fff9;transition:transform .12s ease}.chevron.open{transform:rotate(180deg)}.user-row{display:flex;align-items:center;gap:10px}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1}.user-text{min-width:0}.user-name{margin:0;font-size:11px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{margin:0;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-card{text-align:center}.error-icon{width:80px;height:80px;margin:0 auto 18px;border-radius:50%;background:var(--error-bg);color:var(--error-dark);display:flex;align-items:center;justify-content:center;font-weight:700}.error-status{font-size:46px;font-weight:700;margin:0 0 8px}.error-title{margin:0 0 10px;font-size:20px;font-weight:700;color:var(--text-primary)}.error-text{margin:0 0 20px;color:var(--text-muted)}.signup-options{display:flex;flex-direction:column;gap:12px;margin-top:12px}.option-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:5px;background:#fff;color:var(--text-primary);font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}.option-button:hover{background:var(--bg-hover)}.option-button:disabled{cursor:not-allowed;opacity:.6;color:var(--text-muted)}.option-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.terms-note{margin-top:20px;font-size:12px;color:var(--text-muted);text-align:center;line-height:1.5}.terms-note a{color:var(--accent);text-decoration:underline}.add-widget-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--shadow-overlay);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.add-widget-modal{background:#fff;border-radius:8px;box-shadow:var(--shadow-lg);width:90vw;max-width:1200px;height:90vh;display:flex;flex-direction:column;overflow:hidden}.add-widget-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.add-widget-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:12px}.add-widget-close{background:none;border:none;padding:6px;border-radius:5px;color:var(--text-muted);cursor:pointer;transition:color .12s ease,background .12s ease}.add-widget-close:hover{color:var(--text-primary);background:var(--bg-hover)}.add-widget-error{margin:16px 24px 0;padding:12px 14px;border-radius:5px;background:var(--error-bg);border:1px solid var(--error-light);color:var(--error-dark);font-size:14px}.editor-2col{display:grid;grid-template-columns:380px 0 minmax(0,1fr);height:calc(100vh - 57px);overflow:hidden}.editor-2col.is-resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.editor-2col.is-resizing iframe{pointer-events:none}.editor-chat-panel{border-right:1px solid var(--border);background:var(--page-bg);display:flex;flex-direction:column;overflow:hidden;min-height:0}.editor-resize-handle{width:6px;margin-left:-3px;margin-right:-3px;cursor:col-resize;position:relative;z-index:10}.editor-resize-handle:hover,.editor-2col.is-resizing .editor-resize-handle{background:var(--primary);opacity:.4}.editor-chat-panel-inner{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;background:#ffffff80}.editor-preview-panel{background:var(--preview-page-bg);overflow:hidden;display:flex;align-items:stretch;justify-content:center;min-width:0;position:relative}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;color:var(--text-placeholder);text-align:center;padding:40px}.preview-empty svg{color:var(--text-placeholder);opacity:.5}.preview-empty h3{margin:0;font-size:18px;font-weight:600;color:var(--text-muted)}.preview-empty p{margin:0;font-size:14px;color:var(--text-placeholder)}.preview-viewport{width:100%;height:100%;display:flex;transition:all .3s ease;padding:20px}.preview-viewport.tablet{width:768px;margin:16px auto;height:calc(100% - 32px);border-radius:12px;box-shadow:0 0 0 1px var(--border),0 4px 16px #00000014;overflow:hidden}.preview-viewport.mobile{width:375px;margin:16px auto;height:calc(100% - 32px);border-radius:12px;box-shadow:0 0 0 1px var(--border),0 4px 16px #00000014;overflow:hidden}.device-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:var(--shadow-md);z-index:100}.device-dropdown-item{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.device-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.device-dropdown-item.active{background:var(--accent-lighter, #eff6ff);color:var(--accent)}.widget-preview-iframe{width:100%;height:100%;border:none;background:#fff}.ai-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);padding:32px;text-align:center}.ai-chat-empty svg{opacity:.4}.ai-chat-empty p{font-size:14px;line-height:1.5;max-width:280px}.ai-chat-message{max-width:85%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5;word-wrap:break-word}.ai-chat-message-user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}.ai-chat-message-assistant{align-self:flex-start;background:#fff;color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px}.ai-chat-message-assistant a{color:var(--accent);text-decoration:underline}.ai-chat-message-assistant a:hover{color:var(--accent-hover)}.ai-chat-input-area{display:flex;flex-direction:column;margin:0 12px 12px;flex-shrink:0;border:1px solid var(--border);border-radius:12px;background:#fff;transition:border-color .15s ease}.ai-chat-input-area.is-resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ai-chat-input-area:focus-within{border-color:var(--accent)}.ai-chat-input-resize-handle{width:100%;height:14px;border:none;border-radius:12px 12px 0 0;background:transparent;cursor:ns-resize;display:flex;align-items:center;justify-content:center;padding:0}.ai-chat-input-resize-handle span{width:40px;height:4px;border-radius:999px;background:var(--border);transition:background .15s ease}.ai-chat-input-resize-handle:hover span,.ai-chat-input-area.is-resizing .ai-chat-input-resize-handle span{background:var(--accent)}.ai-chat-input{resize:none;border:none;border-radius:0;padding:10px 12px;font-size:14px;font-family:inherit;line-height:20px;background:transparent;color:var(--text-primary);outline:none;overflow-y:auto;scrollbar-width:auto;min-height:60px}.ai-chat-input::-moz-placeholder{color:var(--text-muted)}.ai-chat-input::placeholder{color:var(--text-muted)}.ai-chat-input-actions{display:flex;align-items:center;justify-content:space-between;padding:6px 8px}.ai-chat-input-actions-left{display:flex;align-items:center;gap:6px}.ai-chat-attach-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.ai-chat-attach-btn:hover{background:var(--bg-active);color:var(--text-primary)}.ai-attached-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--accent-light);color:var(--accent);cursor:pointer;transition:background .15s ease}.ai-attached-badge:hover{background:var(--accent-lighter)}.connector-picker-container{position:relative;display:inline-flex;align-items:center;gap:6px}.ai-chat-attach-btn.active{color:var(--accent)}.ai-connector-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--accent-light);color:var(--accent);cursor:pointer;transition:background .15s ease}.ai-connector-badge:hover{background:var(--accent-lighter)}.connector-picker{position:absolute;bottom:calc(100% + 8px);left:0;min-width:320px;background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);z-index:50;overflow:hidden}.connector-picker-header{padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-light)}.connector-picker-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;cursor:pointer;text-align:left;transition:background .15s ease}.connector-picker-item:hover{background:var(--bg-hover)}.connector-picker-check{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid var(--border);border-radius:4px}.connector-picker-item:has(svg) .connector-picker-check{border-color:var(--accent);background:var(--accent-lighter)}.connector-picker-icon{display:flex;align-items:center;color:var(--text-secondary);flex-shrink:0}.connector-picker-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.connector-picker-name{font-size:13px;font-weight:600;color:var(--text-primary)}.connector-picker-desc{font-size:11px;color:var(--text-muted);line-height:1.3}.connector-picker-cost{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.ai-chat-send-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;transition:background .15s ease,opacity .15s ease}.ai-chat-send-btn:hover:not(:disabled){background:var(--accent-hover)}.ai-chat-send-btn:disabled{background:var(--bg-active);color:var(--text-placeholder);cursor:not-allowed}.prompt-library-modal .modal-content{width:90%;max-width:1024px;height:90vh}.pl-layout{display:flex;flex:1;min-height:0;overflow:hidden}.pl-sidebar{width:160px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.pl-sidebar-item{width:100%;text-align:left;padding:8px 12px;border:none;background:none;border-radius:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;text-transform:capitalize;transition:background .15s ease,color .15s ease}.pl-sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.pl-sidebar-item.active{background:var(--accent);color:#fff}.pl-content{flex:1;overflow-y:auto;padding:16px}.pl-grid{display:flex;flex-direction:column;gap:10px}.pl-card{display:block;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.pl-card:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.pl-card-name{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.pl-card-desc{font-size:13px;color:var(--text-muted);line-height:1.4;margin:0 0 8px}.pl-card-tags{display:flex;flex-wrap:wrap;gap:4px}.pl-card-tag{display:inline-block;padding:2px 8px;border-radius:9999px;background:var(--bg-subtle);font-size:11px;color:var(--text-muted);text-transform:capitalize}.pl-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted);font-size:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-overlay .modal-content{background:#fff;border-radius:12px;width:90vw;max-width:800px;max-height:90vh;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column}.modal-overlay .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-overlay .modal-header h2{margin:0;font-size:18px;font-weight:600}.modal-overlay .modal-close{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:4px}.modal-overlay .modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-overlay .modal-body{padding:24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.modal-overlay .modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--border);min-height:68px;box-sizing:border-box;background:var(--bg-subtle);border-radius:0 0 12px 12px}.file-manager-modal .modal-content{width:90vw;max-width:1280px;height:90vh;border-radius:8px;overflow:hidden}.file-manager-modal .modal-header{padding:16px 20px}.fm-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-light);flex-shrink:0;padding:0 20px}.fm-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease;margin-bottom:-1px}.fm-tab:hover{color:var(--text-primary)}.fm-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.fm-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:9px;background:var(--bg-subtle);font-size:11px;font-weight:600;color:var(--text-muted)}.fm-tab.active .fm-tab-count{background:var(--accent-light, rgba(99,102,241,.1));color:var(--accent)}.fm-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:12px;padding:60px 40px;margin:40px auto;max-width:500px;cursor:pointer;transition:border-color .2s ease,background .2s ease;text-align:center}.fm-dropzone:hover{border-color:var(--accent);background:var(--accent-light, rgba(99,102,241,.04))}.fm-dropzone.dragging{border-color:var(--accent);background:var(--accent-light, rgba(99,102,241,.08))}.fm-dropzone.uploading{cursor:default}.fm-dropzone svg{color:var(--text-muted);margin-bottom:16px}.fm-dropzone.dragging svg,.fm-dropzone:hover svg{color:var(--accent)}.fm-dropzone-title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.fm-dropzone-subtitle{margin:4px 0 0;font-size:14px;color:var(--text-muted)}.fm-dropzone-formats{margin:16px 0 0;font-size:12px;color:var(--text-muted);letter-spacing:.3px}.fm-generate{display:flex;flex-direction:column;gap:12px;max-width:500px;margin:40px auto}.fm-generate textarea{resize:vertical;min-height:80px}.fm-generate-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.fm-generate-note{margin:0;font-size:12px;color:var(--text-muted);text-align:center}.fm-content{flex:1;display:flex;overflow:hidden;min-height:0}.fm-body{flex:1;overflow-y:auto;padding:16px 20px}.fm-detail{width:300px;flex-shrink:0;border-left:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.fm-detail-body{padding:16px;display:flex;flex-direction:column;gap:14px}.fm-detail-name{margin:0;font-size:15px;font-weight:600;color:var(--text-primary);word-break:break-all}.fm-detail-table{width:100%;border-collapse:collapse}.fm-detail-table td{padding:8px 0;vertical-align:middle;font-size:13px;border-bottom:1px solid var(--border-light)}.fm-detail-table tr:last-child td{border-bottom:none}.fm-detail-table .fm-detail-label{width:90px;white-space:nowrap;padding-right:12px}.fm-detail-label{font-size:13px;font-weight:600;color:var(--text-muted)}.fm-detail-value{font-size:13px;color:var(--text-primary);word-break:break-all}.fm-detail-alt{display:flex;flex-direction:column;gap:4px}.fm-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 0;background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer}.fm-copy-btn:hover{text-decoration:underline}.fm-detail-url{font-size:12px;color:var(--accent);word-break:break-all;cursor:pointer}.fm-detail-url:hover{text-decoration:underline}.fm-detail-actions{display:flex;gap:8px;padding-top:4px}.fm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.fm-card{position:relative;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .12s ease,box-shadow .12s ease}.fm-card:hover,.fm-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.fm-card-preview{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);overflow:hidden}.fm-card-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.fm-card-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-muted)}.fm-card-info{padding:8px 10px;border-top:1px solid var(--border);background-color:var(--bg-subtle);border-radius:0 0 7px 7px}.fm-card-name{margin:0;font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-card-meta{margin:2px 0 0;font-size:11px;color:var(--text-muted)}.fm-card-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.fm-card:hover .fm-card-actions{opacity:1}.fm-card-action{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:5px;background:#ffffffe6;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease;box-shadow:var(--shadow-sm)}.fm-card-action:hover{background:#fff;color:var(--text-primary)}.fm-card-action.danger:hover{color:var(--error-dark)}.fm-status-bar{padding:10px 20px;border-top:1px solid var(--border-light);font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-shrink:0}.fm-upsell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 32px;text-align:center;min-height:300px}.fm-upsell-icon{color:var(--text-muted);margin-bottom:16px}.fm-upsell-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.fm-upsell-text{font-size:14px;color:var(--text-muted);margin:0 0 24px;max-width:320px;line-height:1.5}.fm-empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.fm-empty svg{color:var(--icon-disabled);margin-bottom:12px}.fm-empty p{margin:0;font-size:14px}.fm-card-checkbox{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:5px;border:1px solid var(--text-primary);background:#ffffffe6;display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease;box-shadow:var(--shadow-sm);z-index:1}.fm-card-checkbox.checked{background:var(--accent);border-color:var(--text-primary);color:#fff}.fm-select-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border);flex-shrink:0}.fm-select-count{font-size:13px;color:var(--text-muted)}.fm-select-footer-actions{display:flex;align-items:center;gap:8px}.fm-copied{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text-primary);color:#fff;padding:8px 16px;border-radius:5px;font-size:13px;font-weight:500;z-index:200;box-shadow:var(--shadow-md)}.ai-chat-typing{display:flex;gap:4px;padding:4px 0}.ai-chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:ai-typing-bounce 1.4s infinite ease-in-out both}.ai-chat-typing span:nth-child(1){animation-delay:0s}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes ai-typing-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.code-editor-panels{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.code-editor-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--bg-hover);flex-shrink:0;justify-content:center}.code-editor-tab{padding:12px 18px;font-size:12px;font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .12s ease,border-color .12s ease}.code-editor-tab:hover{color:var(--text-primary)}.code-editor-tab.active{color:var(--accent);border-color:var(--accent)}.code-editor-section{flex:1;display:flex;flex-direction:column;min-height:0}.code-editor-textarea{flex:1;margin:0;padding:8px 12px;border:none;resize:none;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:12px;line-height:1.5;color:var(--text-primary);background:#fff;outline:none;min-height:0}.code-editor-footer{flex-shrink:0;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg-hover)}.code-editor-footer .btn{width:100%;justify-content:center}.code-editor-footer .btn svg{margin-right:6px}.description-hint{margin:0;font-size:13px;color:var(--text-secondary)}.description-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;line-height:1.5;resize:vertical;min-height:120px;outline:none;transition:border-color .15s}.description-textarea:focus{border-color:var(--accent)}.description-textarea::-moz-placeholder{color:var(--text-muted)}.description-textarea::placeholder{color:var(--text-muted)}.delete-modal .modal-content{max-width:480px}.delete-warning{margin:0}.widgets-notice{background:var(--bg-secondary);border-radius:8px;padding:16px}.widgets-notice p{margin:0 0 12px}.widget-list-preview{margin:0 0 16px;padding-left:20px}.widget-list-preview li{margin:4px 0;color:var(--text-secondary)}.widget-list-preview li.more{font-style:italic}.delete-modal .form-group{margin-top:16px}.delete-modal .form-group label{display:block;margin-bottom:8px;font-weight:500}.delete-modal .form-group select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:#fff}.empty-notice{color:var(--text-secondary);margin:0}.error-text{color:var(--error-dark);margin:12px 0 0}.btn-danger{background:var(--error-dark);color:#fff;border:none}.btn-danger:hover:not(:disabled){background:#c53030}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.assign-modal .modal-content{max-width:420px}.assign-modal .modal-body p{margin:0 0 16px}.assign-modal .form-group label{display:block;margin-bottom:8px;font-weight:500}.assign-modal .form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:#fff}.palette-modal{max-width:600px}.palette-hint{margin:0;font-size:13px;color:var(--text-secondary)}.palette-list{display:flex;flex-direction:column;gap:16px}.palette-item{border:1px solid var(--border);border-radius:8px;padding:12px}.palette-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.palette-name-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;outline:none}.palette-name-input:focus{border-color:var(--accent)}.palette-remove-btn{flex-shrink:0;color:var(--text-muted)}.palette-remove-btn:hover{color:var(--error-bright)}.palette-colors{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.color-chip{display:flex;align-items:center;gap:4px;background:var(--bg-subtle);border-radius:6px;padding:3px 4px 3px 3px}.color-swatch{width:28px;height:28px;border-radius:4px;border:1px solid var(--border);cursor:pointer;position:relative;overflow:hidden;flex-shrink:0}.color-swatch input[type=color]{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);border:none;padding:0;cursor:pointer;opacity:0}.color-hex-input{width:76px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;outline:none}.color-hex-input:focus{border-color:var(--accent)}.color-remove-btn{flex-shrink:0;padding:2px;color:var(--text-muted)}.color-remove-btn:hover{color:var(--error-bright)}.add-color-btn{font-size:12px;color:var(--accent);background:none;border:1px dashed var(--border);border-radius:6px;padding:6px 10px;cursor:pointer;white-space:nowrap}.add-color-btn:hover{border-color:var(--accent);background:var(--accent-lighter)}.add-palette-btn{font-size:13px;color:var(--accent);background:none;border:1px dashed var(--border);border-radius:8px;padding:10px;cursor:pointer;width:100%;text-align:center}.add-palette-btn:hover{border-color:var(--accent);background:var(--accent-lighter)}.admin-nav{display:flex;gap:8px;margin-top:16px}.log-controls{margin-bottom:16px}.log-filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:var(--panel-bg);outline:none;cursor:pointer}.log-filter-select:focus{border-color:var(--accent)}.log-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}.log-entry{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:var(--panel-bg)}.log-entry-header{display:flex;align-items:center;gap:8px}.log-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;white-space:nowrap;background:var(--bg-subtle);color:var(--text-secondary)}.log-badge-ai_prompt,.log-badge-ai_alt_text{background:#ede9fe;color:#6d28d9}.log-badge-widget_create,.log-badge-widget_publish{background:#dcfce7;color:#15803d}.log-badge-widget_delete,.log-badge-file_delete,.log-badge-project_delete{background:#fee2e2;color:#b91c1c}.log-badge-file_upload{background:#dbeafe;color:#1d4ed8}.log-badge-credits_purchase{background:#fef3c7;color:#b45309}.log-badge-color_scheme_update,.log-badge-project_create{background:#e0f2fe;color:#0369a1}.log-timestamp{font-size:12px;color:var(--text-muted);margin-left:auto;white-space:nowrap}.log-entry-body{display:flex;align-items:baseline;gap:8px;font-size:13px;min-width:0}.log-email{color:var(--text-primary);font-weight:500;flex-shrink:0}.log-details{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-sentinel{padding:20px;text-align:center}.log-loading,.log-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}.log-loading-more,.log-end{font-size:13px;color:var(--text-muted)}.admin-table-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;padding:10px 14px;background:var(--bg-subtle);font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.admin-table td{padding:10px 14px;border-top:1px solid var(--border);background:var(--panel-bg)}.admin-table-row-link{cursor:pointer}.admin-table-row-link:hover td{background:var(--bg-hover)}.admin-table-primary{font-weight:500}.admin-table-code{font-size:12px;color:var(--text-muted);background:var(--bg-subtle);padding:2px 6px;border-radius:4px}.admin-table-loading{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.admin-detail-card{border:1px solid var(--border);border-radius:10px;background:var(--panel-bg);padding:20px}.admin-detail-card-title{margin:0 0 14px;font-size:15px;font-weight:600;color:var(--text-primary)}.admin-detail-list{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;margin:0}.admin-detail-list dt{color:var(--text-secondary);font-weight:500}.admin-detail-list dd{margin:0;color:var(--text-primary)}
