# thinkrank/1.0.0/src/admin/styles/_variables.scss

ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console &amp; Local SEO, version 1.0.0. 280 lines.

- Page: https://pluginprobe.com/plugins/thinkrank/1.0.0/code/src/admin/styles/_variables.scss
- Raw: https://pluginprobe.com/plugins/thinkrank/1.0.0/raw/src/admin/styles/_variables.scss
- Modified: 2025-08-10T07:57:44+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/thinkrank/1.0.0/code/src/admin/styles/_variables.scss#L10-L20`.

```scss
/**
 * SCSS Variables
 * 
 * Centralized design tokens for consistent theming
 * 
 * @package ThinkRank
 * @since 1.0.0
 */

// Color Palette
$primary-blue: #2563eb;
$primary-blue-dark: #1d4ed8;
$primary-blue-light: #3b82f6;

$success-green: #22c55e;
$success-green-dark: #16a34a;
$success-green-light: #34d399;

$warning-orange: #f59e0b;
$warning-orange-dark: #d97706;
$warning-orange-light: #fbbf24;

$error-red: #ef4444;
$error-red-dark: #dc2626;
$error-red-light: #f87171;

$purple: #8b5cf6;
$purple-dark: #7c3aed;
$purple-light: #a78bfa;

// Neutral Colors
$gray-50: #f9fafb;
$gray-100: #f3f4f6;
$gray-200: #e5e7eb;
$gray-300: #d1d5db;
$gray-400: #9ca3af;
$gray-500: #6b7280;
$gray-600: #4b5563;
$gray-700: #374151;
$gray-800: #1f2937;
$gray-900: #111827;

$white: #ffffff;
$black: #000000;

// Provider Colors
$openai-green: #10a37f;
$openai-green-dark: #0d8f6f;
$claude-orange: #d97757;
$claude-orange-dark: #c96643;

// Background Colors
$bg-primary: $white;
$bg-secondary: $gray-50;
$bg-tertiary: $gray-100;

// Text Colors
$text-primary: $gray-900;
$text-secondary: $gray-700;
$text-tertiary: $gray-500;
$text-muted: $gray-400;

// Border Colors
$border-light: $gray-200;
$border-medium: $gray-300;
$border-dark: $gray-400;

// Spacing Scale
$spacing-xs: 0.25rem;   // 4px
$spacing-sm: 0.5rem;    // 8px
$spacing-md: 0.75rem;   // 12px
$spacing-lg: 1rem;      // 16px
$spacing-xl: 1.25rem;   // 20px
$spacing-2xl: 1.5rem;   // 24px
$spacing-3xl: 2rem;     // 32px
$spacing-4xl: 2.5rem;   // 40px
$spacing-5xl: 3rem;     // 48px

// Enhanced Spacing Scale Map (for utility generation)
$spacing-scale: (
  0: 0,
  1: $spacing-xs,    // 0.25rem
  2: $spacing-sm,    // 0.5rem
  3: $spacing-md,    // 0.75rem
  4: $spacing-lg,    // 1rem
  5: $spacing-xl,    // 1.25rem
  6: $spacing-2xl,   // 1.5rem
  8: $spacing-3xl,   // 2rem
  10: $spacing-4xl,  // 2.5rem
  12: $spacing-5xl,  // 3rem
  16: 4rem,          // 64px
  20: 5rem,          // 80px
  24: 6rem           // 96px
);

// Typography
$font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
$font-family-mono: 'SFMono-Regular', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;

$font-size-xs: 0.75rem;    // 12px
$font-size-sm: 0.875rem;   // 14px
$font-size-base: 1rem;     // 16px
$font-size-lg: 1.125rem;   // 18px
$font-size-xl: 1.25rem;    // 20px
$font-size-2xl: 1.5rem;    // 24px
$font-size-3xl: 1.875rem;  // 30px
$font-size-4xl: 2.25rem;   // 36px

// Enhanced Typography Scale Map (for utility generation)
$font-sizes: (
  xs: $font-size-xs,
  sm: $font-size-sm,
  base: $font-size-base,
  lg: $font-size-lg,
  xl: $font-size-xl,
  2xl: $font-size-2xl,
  3xl: $font-size-3xl,
  4xl: $font-size-4xl
);

$font-weight-normal: 400;
$font-weight-medium: 500;
$font-weight-semibold: 600;
$font-weight-bold: 700;

$line-height-tight: 1.25;
$line-height-normal: 1.5;
$line-height-relaxed: 1.75;

// Border Radius
$radius-sm: 4px;
$radius-md: 6px;
$radius-lg: 8px;
$radius-xl: 12px;
$radius-2xl: 16px;
$radius-3xl: 20px;
$radius-full: 9999px;

// Enhanced Border Radius Scale Map (for utility generation)
$border-radius: (
  none: 0,
  sm: $radius-sm,
  base: $radius-md,
  md: $radius-md,
  lg: $radius-lg,
  xl: $radius-xl,
  2xl: $radius-2xl,
  3xl: $radius-3xl,
  full: $radius-full
);

// Shadows
$shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
$shadow-md: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
$shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
$shadow-xl: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
$shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);

// Transitions
$transition-fast: 0.15s ease-in-out;
$transition-normal: 0.2s ease-in-out;
$transition-slow: 0.3s ease-in-out;

// Z-index Scale
$z-dropdown: 1000;
$z-sticky: 1020;
$z-fixed: 1030;
$z-modal-backdrop: 1040;
$z-modal: 1050;
$z-popover: 1060;
$z-tooltip: 1070;

// Breakpoints
$breakpoint-sm: 640px;
$breakpoint-md: 768px;
$breakpoint-lg: 1024px;
$breakpoint-xl: 1280px;
$breakpoint-2xl: 1536px;

// Container Widths
$container-sm: 640px;
$container-md: 768px;
$container-lg: 1024px;
$container-xl: 1280px;
$container-2xl: 1400px;

// Component Specific Variables

// Buttons
$button-height-sm: 2rem;
$button-height-md: 2.5rem;
$button-height-lg: 3rem;

$button-padding-sm: $spacing-sm $spacing-md;
$button-padding-md: $spacing-md $spacing-lg;
$button-padding-lg: $spacing-lg $spacing-xl;

// Cards
$card-padding: $spacing-2xl;
$card-border-radius: $radius-xl;
$card-shadow: $shadow-md;

// Forms
$input-height: 2.75rem;
$input-padding: $spacing-md $spacing-lg;
$input-border-radius: $radius-md;

// Dashboard
$dashboard-card-min-height: 140px;
$dashboard-gap: $spacing-2xl;
$dashboard-icon-size: 3rem;

// Header
$header-height: 4rem;
$header-padding: $spacing-lg $spacing-xl;

// Sidebar
$sidebar-width: 200px;
$sidebar-gap: $spacing-md;

// Animation Curves
$ease-in-out-cubic: cubic-bezier(0.4, 0, 0.2, 1);
$ease-out-cubic: cubic-bezier(0, 0, 0.2, 1);
$ease-in-cubic: cubic-bezier(0.4, 0, 1, 1);

// Gradients
$gradient-primary: linear-gradient(135deg, #{$primary-blue} 0%, #{$primary-blue-light} 100%);
$gradient-success: linear-gradient(135deg, #{$success-green} 0%, #{$success-green-light} 100%);
$gradient-warning: linear-gradient(135deg, #{$warning-orange} 0%, #{$warning-orange-light} 100%);
$gradient-card: linear-gradient(135deg, #{$white} 0%, #{$gray-50} 100%);

// Provider Gradients
$gradient-openai: linear-gradient(135deg, #{$openai-green} 0%, #{$openai-green-dark} 100%);
$gradient-claude: linear-gradient(135deg, #{$claude-orange} 0%, #{$claude-orange-dark} 100%);

// Utility Mixins
@mixin flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

@mixin flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@mixin truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@mixin visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@mixin focus-ring {
  outline: none;
  box-shadow: 0 0 0 2px $primary-blue;
}

@mixin card-hover {
  transition: all $transition-normal;
  
  &:hover {
    transform: translateY(-2px);
    box-shadow: $shadow-lg;
  }
}

```
