.admin-loading{justify-content:center;align-items:center;gap:var(--space-md);min-height:100vh;color:var(--color-text-secondary);flex-direction:column;display:flex}.loading-spinner.large{border-width:4px;border-color:#1b6b4a33;border-top-color:var(--color-primary);width:40px;height:40px}.admin-login{background:linear-gradient(135deg,#1a1d23 0%,#2a2d35 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-card{background:var(--color-surface);padding:var(--space-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);text-align:center;width:90%;max-width:400px}.admin-login-icon{margin-bottom:var(--space-lg)}.admin-login-card h1{font-size:var(--font-size-2xl);color:var(--color-primary-dark);margin-bottom:var(--space-xs)}.admin-login-card p{color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.admin-login-error{background:var(--color-error-light);color:var(--color-error);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:var(--font-size-sm)}.admin-login-btn{gap:var(--space-md);width:100%}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--color-admin-sidebar);color:#fff;z-index:100;width:260px;transition:transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.admin-sidebar-header{padding:var(--space-lg);border-bottom:1px solid #ffffff1a}.admin-sidebar-brand{align-items:center;gap:var(--space-sm);display:flex}.admin-sidebar-brand-icon{background:var(--color-primary);border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;display:flex}.admin-sidebar-brand h2{font-size:var(--font-size-base);font-weight:600}.admin-sidebar-brand span{font-size:var(--font-size-xs);color:#ffffff80}.admin-sidebar-nav{padding:var(--space-md) 0;flex:1;overflow-y:auto}.admin-nav-section{padding:0 var(--space-md);margin-bottom:var(--space-lg)}.admin-nav-section-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:1px;color:#fff6;padding:0 var(--space-md);margin-bottom:var(--space-sm)}.admin-nav-link{align-items:center;gap:var(--space-sm);padding:.625rem var(--space-md);border-radius:var(--radius-md);color:#ffffffb3;font-size:var(--font-size-sm);transition:all var(--transition-fast);text-decoration:none;display:flex}.admin-nav-link:hover{background:var(--color-admin-sidebar-hover);color:#fff;text-decoration:none}.admin-nav-link.active{background:var(--color-primary);color:#fff}.admin-nav-link svg{flex-shrink:0;width:20px;height:20px}.admin-sidebar-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid #ffffff1a}.admin-user-info{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.admin-user-avatar{border-radius:var(--radius-full);background:var(--color-primary);width:32px;height:32px;font-size:var(--font-size-sm);justify-content:center;align-items:center;font-weight:600;display:flex}.admin-user-name{font-size:var(--font-size-sm);color:#ffffffe6;white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.admin-user-email{font-size:var(--font-size-xs);color:#fff6;white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.admin-logout-btn{color:#ffffffb3;padding:.375rem var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-xs);cursor:pointer;width:100%;transition:all var(--transition-fast);background:0 0;border:1px solid #fff3}.admin-logout-btn:hover{color:#fff;background:#ffffff1a}.admin-main{background:var(--color-admin-bg);flex:1;min-height:100vh;margin-left:260px}.admin-page{padding:var(--space-xl) var(--space-2xl);max-width:1400px}.admin-page-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.admin-page-header h1{font-size:var(--font-size-2xl);color:var(--color-text)}.admin-page-header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.admin-table-container{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;padding:.875rem var(--space-lg);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);background:var(--color-surface-hover);border-bottom:1px solid var(--color-border);font-weight:600}.admin-table td{padding:.875rem var(--space-lg);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--color-surface-hover)}.admin-stats{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.admin-stat-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.admin-stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.admin-stat-value{font-size:var(--font-size-2xl);color:var(--color-text);font-weight:700}.admin-filters{gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.admin-filter-input{font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:200px;padding:.5rem .75rem}.admin-filter-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #1b6b4a1a}.admin-filter-select{font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:.5rem .75rem}.admin-detail{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:var(--space-xl)}.admin-detail-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.admin-detail-field{margin-bottom:var(--space-md)}.admin-detail-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-weight:600}.admin-detail-value{font-size:var(--font-size-base);color:var(--color-text)}.admin-empty{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary)}.admin-empty svg{margin-bottom:var(--space-md);opacity:.3}.form-builder-fields{min-height:200px;padding:var(--space-md);background:var(--color-surface-hover);border-radius:var(--radius-md);border:2px dashed var(--color-border)}.form-builder-field-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm);align-items:flex-start;gap:var(--space-md);cursor:grab;transition:all var(--transition-fast);display:flex}.form-builder-field-item:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.form-builder-field-handle{color:var(--color-text-muted);cursor:grab;padding:var(--space-xs);flex-shrink:0}.form-builder-field-content{flex:1}.form-builder-field-actions{gap:var(--space-xs);flex-shrink:0;display:flex}.form-builder-field-actions button{padding:var(--space-xs);cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none}.form-builder-field-actions button:hover{background:var(--color-surface-hover);color:var(--color-text)}.form-builder-field-actions button.delete:hover{color:var(--color-error)}.admin-sidebar-toggle{top:var(--space-md);left:var(--space-md);z-index:101;background:var(--color-admin-sidebar);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;width:40px;height:40px;display:none;position:fixed}@media (max-width:768px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-toggle{display:flex}.admin-main{margin-left:0}.admin-page{padding:var(--space-lg) var(--space-md);padding-top:60px}}
