
        /* ===== KISWATE DESIGN SYSTEM ===== */
        /* Global Styles & CSS Variables */
        :root {
            /* Colors */
            --primary-500: #3b82f6;
            --primary-600: #2563eb;
            --primary-50: #eff6ff;
            --primary-100: #dbeafe;
            --primary-200: #bfdbfe;
            
            --secondary-500: #10b981;
            --secondary-600: #059669;
            --secondary-50: #ecfdf5;
            --secondary-100: #d1fae5;
            
            --accent-500: #06b6d4;
            --accent-600: #0891b2;
            
            --neutral-50: #f8fafc;
            --neutral-100: #f1f5f9;
            --neutral-200: #e2e8f0;
            --neutral-300: #cbd5e1;
            --neutral-400: #94a3b8;
            --neutral-500: #64748b;
            --neutral-600: #475569;
            --neutral-700: #334155;
            --neutral-800: #1e293b;
            --neutral-900: #0f172a;
            
            --success-500: #10b981;
            --success-50: #f0fdf4;
            --success-100: #dcfce7;
            
            --warning-500: #f59e0b;
            --warning-50: #fffbeb;
            --warning-100: #fef3c7;
            
            --error-500: #ef4444;
            --error-50: #fef2f2;
            --error-100: #fee2e2;
            
            --info-500: #3b82f6;
            --info-50: #eff6ff;
            --info-100: #dbeafe;
            
            /* Typography */
            --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
            --font-size-xs: 0.75rem;
            --font-size-sm: 0.875rem;
            --font-size-base: 1rem;
            --font-size-lg: 1.125rem;
            --font-size-xl: 1.25rem;
            --font-size-2xl: 1.5rem;
            --font-size-3xl: 1.875rem;
            --font-size-4xl: 2.25rem;
            --font-size-5xl: 3rem;
            
            --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.625;
            
            /* Spacing */
            --spacing-xs: 0.25rem;
            --spacing-sm: 0.5rem;
            --spacing-md: 0.75rem;
            --spacing-lg: 1rem;
            --spacing-xl: 1.25rem;
            --spacing-2xl: 1.5rem;
            --spacing-3xl: 2rem;
            --spacing-4xl: 2.5rem;
            --spacing-5xl: 3rem;
            --spacing-6xl: 4rem;
            
            /* Border Radius */
            --radius-sm: 0.25rem;
            --radius-md: 0.375rem;
            --radius-lg: 0.5rem;
            --radius-xl: 0.75rem;
            --radius-2xl: 1rem;
            --radius-3xl: 1.5rem;
            
            /* Shadows */
            --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
            --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
            --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
            
            /* Transitions */
            --transition-fast: 0.15s ease-in-out;
            --transition-base: 0.2s ease-in-out;
            --transition-slow: 0.3s ease-in-out;
        }

        /* Reset & Base Styles */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            font-size: 16px;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        body {
            font-family: var(--font-family);
            font-size: var(--font-size-base);
            line-height: var(--line-height-normal);
            color: var(--neutral-800);
            background-color: var(--neutral-50);
        }

        /* ===== LAYOUT COMPONENTS ===== */

        /* Container */
        .kiswate-container {
            display: flex;
            min-height: 100vh;
        }

        /* Sidebar */
        .kiswate-sidebar {
            width: 280px;
            background: white;
            box-shadow: 2px 0 8px rgba(0,0,0,0.1);
            padding: var(--spacing-3xl);
            position: fixed;
            height: 100vh;
            overflow-y: auto;
            z-index: 10;
        }

        .kiswate-sidebar-mobile-hidden {
            transform: translateX(-100%);
        }

        /* Main Content */
        .kiswate-main {
            flex: 1;
            margin-left: 280px;
            padding: var(--spacing-3xl);
        }

        .kiswate-main-full {
            margin-left: 0;
            padding: var(--spacing-lg);
        }

        /* Header */
        .kiswate-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: var(--spacing-3xl);
        }

        /* Logo */
        .kiswate-logo {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            margin-bottom: var(--spacing-5xl);
        }

        .kiswate-logo-icon {
            width: 48px;
            height: 48px;
            background: linear-gradient(135deg, var(--primary-500), var(--secondary-500));
            border-radius: var(--radius-xl);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: var(--font-size-xl);
            font-weight: var(--font-weight-bold);
        }

        .kiswate-logo-text h1 {
            font-size: var(--font-size-xl);
            font-weight: var(--font-weight-bold);
            color: var(--neutral-800);
            margin: 0;
        }

        .kiswate-logo-text p {
            color: var(--neutral-500);
            font-size: var(--font-size-sm);
            margin: 0;
        }

        /* User Profile */
        .kiswate-user-profile {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            background: white;
            padding: var(--spacing-md) var(--spacing-lg);
            border-radius: var(--radius-xl);
            box-shadow: var(--shadow-md);
        }

        .kiswate-user-avatar {
            width: 40px;
            height: 40px;
            background: linear-gradient(135deg, var(--secondary-500), var(--accent-500));
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: var(--font-weight-semibold);
            font-size: var(--font-size-base);
        }

        /* ===== FORM COMPONENTS ===== */

        /* Form Container */
        .kiswate-form-container {
            background: white;
            border-radius: 20px;
            padding: var(--spacing-4xl);
            box-shadow: 0 4px 16px rgba(0,0,0,0.08);
            max-width: 900px;
            margin: 0 auto;
        }

        /* Form Header */
        .kiswate-form-header {
            text-align: center;
            margin-bottom: var(--spacing-5xl);
        }

        .kiswate-form-header h2 {
            font-size: var(--font-size-4xl);
            font-weight: var(--font-weight-bold);
            color: var(--neutral-800);
            margin-bottom: var(--spacing-sm);
        }

        .kiswate-form-header p {
            font-size: var(--font-size-lg);
            color: var(--neutral-500);
        }

        /* Form Sections */
        .kiswate-form-section {
            margin-bottom: var(--spacing-4xl);
            padding: var(--spacing-2xl);
            border-radius: var(--radius-2xl);
            background: var(--neutral-50);
            border-left: 4px solid var(--primary-500);
        }

        .kiswate-form-section h3 {
            font-size: var(--font-size-xl);
            font-weight: var(--font-weight-semibold);
            color: var(--neutral-800);
            margin-bottom: var(--spacing-2xl);
        }

        /* Form Layout */
        .kiswate-form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--spacing-2xl);
            margin-bottom: var(--spacing-2xl);
        }

        .kiswate-form-row-single {
            grid-template-columns: 1fr;
        }

        .kiswate-form-row-triple {
            grid-template-columns: 1fr 1fr 1fr;
        }

        .kiswate-form-group {
            margin-bottom: var(--spacing-2xl);
        }

        .kiswate-form-group label {
            display: block;
            font-weight: var(--font-weight-semibold);
            color: var(--neutral-700);
            margin-bottom: var(--spacing-sm);
        }

        .kiswate-required {
            color: var(--error-500);
        }

        /* Form Controls */
        .kiswate-form-control {
            width: 100%;
            padding: var(--spacing-md) var(--spacing-lg);
            border: 2px solid var(--neutral-200);
            border-radius: var(--radius-lg);
            font-size: var(--font-size-base);
            transition: all var(--transition-base);
            background: white;
            font-family: var(--font-family);
        }

        .kiswate-form-control:focus {
            outline: none;
            border-color: var(--primary-500);
            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
        }

        .kiswate-form-control:invalid {
            border-color: var(--error-500);
        }

        .kiswate-form-control:valid {
            border-color: var(--secondary-500);
        }

        select.kiswate-form-control {
            cursor: pointer;
        }

        textarea.kiswate-form-control {
            resize: vertical;
            min-height: 120px;
        }

        /* Checkbox Components */
        .kiswate-checkbox-group {
            margin: var(--spacing-lg) 0;
        }

        .kiswate-checkbox-item {
            display: flex;
            align-items: flex-start;
            gap: var(--spacing-md);
            margin-bottom: var(--spacing-lg);
            padding: var(--spacing-lg);
            background: white;
            border-radius: var(--radius-lg);
            border: 1px solid var(--neutral-200);
            transition: all var(--transition-base);
        }

        .kiswate-checkbox-item:hover {
            border-color: var(--primary-500);
            box-shadow: var(--shadow-md);
        }

        .kiswate-checkbox-item input[type="checkbox"] {
            width: 18px;
            height: 18px;
            margin-top: 2px;
            cursor: pointer;
            accent-color: var(--primary-500);
        }

        .kiswate-checkbox-item label {
            flex: 1;
            margin: 0;
            cursor: pointer;
            font-weight: var(--font-weight-medium);
        }

        .kiswate-checkbox-item .description {
            color: var(--neutral-500);
            font-size: var(--font-size-sm);
            margin-top: var(--spacing-xs);
        }

        /* File Upload */
        .kiswate-file-upload {
            border: 2px dashed var(--neutral-300);
            border-radius: var(--radius-xl);
            padding: var(--spacing-2xl);
            text-align: center;
            margin-bottom: var(--spacing-lg);
            transition: all var(--transition-base);
            background: white;
            cursor: pointer;
        }

        .kiswate-file-upload:hover {
            border-color: var(--primary-500);
            background: var(--neutral-50);
        }

        .kiswate-file-upload.has-file {
            border-color: var(--secondary-500);
            border-style: solid;
            background: var(--success-50);
        }

        .kiswate-file-input {
            display: none;
        }

        .kiswate-file-name {
            margin-top: var(--spacing-sm);
            color: var(--secondary-500);
            font-weight: var(--font-weight-medium);
        }

        /* ===== BUTTON COMPONENTS ===== */

        .kiswate-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: var(--spacing-sm);
            padding: var(--spacing-md) var(--spacing-2xl);
            border-radius: var(--radius-lg);
            font-size: var(--font-size-base);
            font-weight: var(--font-weight-semibold);
            text-decoration: none;
            border: none;
            cursor: pointer;
            transition: all var(--transition-base);
            font-family: var(--font-family);
        }

        /* Button Variants */
        .kiswate-btn-primary {
            background: linear-gradient(135deg, var(--primary-500), var(--accent-500));
            color: white;
            box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
        }

        .kiswate-btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(59, 130, 246, 0.4);
        }

        .kiswate-btn-secondary {
            background: var(--secondary-500);
            color: white;
        }

        .kiswate-btn-secondary:hover {
            background: var(--secondary-600);
        }

        .kiswate-btn-outline {
            background: transparent;
            color: var(--primary-500);
            border: 2px solid var(--primary-500);
        }

        .kiswate-btn-outline:hover {
            background: var(--primary-500);
            color: white;
        }

        .kiswate-btn-ghost {
            background: transparent;
            color: var(--neutral-600);
        }

        .kiswate-btn-ghost:hover {
            background: var(--neutral-100);
        }

        /* Button Sizes */
        .kiswate-btn-sm {
            padding: var(--spacing-sm) var(--spacing-lg);
            font-size: var(--font-size-sm);
        }

        .kiswate-btn-lg {
            padding: var(--spacing-lg) var(--spacing-3xl);
            font-size: var(--font-size-lg);
        }

        .kiswate-btn:disabled {
            opacity: 0.6;
            cursor: not-allowed;
            transform: none;
            box-shadow: none;
        }

        /* ===== UTILITY COMPONENTS ===== */

        /* Cards */
        .kiswate-card {
            background: white;
            border-radius: var(--radius-2xl);
            padding: var(--spacing-3xl);
            box-shadow: var(--shadow-md);
            border: 1px solid var(--neutral-200);
        }

        .kiswate-card-header {
            margin-bottom: var(--spacing-3xl);
        }

        .kiswate-card-title {
            font-size: var(--font-size-xl);
            font-weight: var(--font-weight-bold);
            color: var(--neutral-800);
            margin-bottom: var(--spacing-sm);
        }

        .kiswate-card-description {
            color: var(--neutral-500);
        }

        /* Alerts */
        .kiswate-alert {
            padding: var(--spacing-lg);
            border-radius: var(--radius-lg);
            margin-bottom: var(--spacing-lg);
            border-left: 4px solid;
        }

        .kiswate-alert-success {
            background: var(--success-50);
            border-color: var(--success-500);
            color: var(--success-500);
        }

        .kiswate-alert-warning {
            background: var(--warning-50);
            border-color: var(--warning-500);
            color: var(--warning-500);
        }

        .kiswate-alert-error {
            background: var(--error-50);
            border-color: var(--error-500);
            color: var(--error-500);
        }

        .kiswate-alert-info {
            background: var(--info-50);
            border-color: var(--info-500);
            color: var(--info-500);
        }

        /* Loading States */
        .kiswate-loading {
            opacity: 0.6;
            pointer-events: none;
        }

        .kiswate-spinner {
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 2px solid var(--neutral-200);
            border-top: 2px solid var(--primary-500);
            border-radius: 50%;
            animation: spin 1s linear infinite;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* Navigation */
        .kiswate-nav-section {
            margin-bottom: var(--spacing-3xl);
        }

        .kiswate-nav-section h3 {
            color: var(--neutral-500);
            font-size: var(--font-size-xs);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: var(--spacing-lg);
            font-weight: var(--font-weight-semibold);
        }

        .kiswate-nav-item {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            padding: var(--spacing-md);
            border-radius: var(--radius-lg);
            color: var(--neutral-600);
            text-decoration: none;
            transition: all var(--transition-base);
            margin-bottom: var(--spacing-sm);
        }

        .kiswate-nav-item:hover {
            background: var(--neutral-100);
            color: var(--neutral-800);
        }

        .kiswate-nav-item.active {
            background: var(--primary-50);
            color: var(--primary-600);
        }

        /* Typography Utilities */
        .kiswate-text-xs { font-size: var(--font-size-xs); }
        .kiswate-text-sm { font-size: var(--font-size-sm); }
        .kiswate-text-base { font-size: var(--font-size-base); }
        .kiswate-text-lg { font-size: var(--font-size-lg); }
        .kiswate-text-xl { font-size: var(--font-size-xl); }
        .kiswate-text-2xl { font-size: var(--font-size-2xl); }
        .kiswate-text-3xl { font-size: var(--font-size-3xl); }
        .kiswate-text-4xl { font-size: var(--font-size-4xl); }
        .kiswate-text-5xl { font-size: var(--font-size-5xl); }

        .kiswate-font-normal { font-weight: var(--font-weight-normal); }
        .kiswate-font-medium { font-weight: var(--font-weight-medium); }
        .kiswate-font-semibold { font-weight: var(--font-weight-semibold); }
        .kiswate-font-bold { font-weight: var(--font-weight-bold); }

        .kiswate-text-primary { color: var(--primary-500); }
        .kiswate-text-secondary { color: var(--secondary-500); }
        .kiswate-text-neutral-500 { color: var(--neutral-500); }
        .kiswate-text-neutral-600 { color: var(--neutral-600); }
        .kiswate-text-neutral-700 { color: var(--neutral-700); }
        .kiswate-text-neutral-800 { color: var(--neutral-800); }

        /* Spacing Utilities */
        .kiswate-mb-0 { margin-bottom: 0; }
        .kiswate-mb-sm { margin-bottom: var(--spacing-sm); }
        .kiswate-mb-md { margin-bottom: var(--spacing-md); }
        .kiswate-mb-lg { margin-bottom: var(--spacing-lg); }
        .kiswate-mb-xl { margin-bottom: var(--spacing-xl); }
        .kiswate-mb-2xl { margin-bottom: var(--spacing-2xl); }
        .kiswate-mb-3xl { margin-bottom: var(--spacing-3xl); }

        .kiswate-mt-0 { margin-top: 0; }
        .kiswate-mt-sm { margin-top: var(--spacing-sm); }
        .kiswate-mt-md { margin-top: var(--spacing-md); }
        .kiswate-mt-lg { margin-top: var(--spacing-lg); }
        .kiswate-mt-xl { margin-top: var(--spacing-xl); }
        .kiswate-mt-2xl { margin-top: var(--spacing-2xl); }
        .kiswate-mt-3xl { margin-top: var(--spacing-3xl); }

        /* ===== RESPONSIVE DESIGN ===== */
        @media (max-width: 1024px) {
            .kiswate-form-row-triple {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media (max-width: 768px) {
            .kiswate-sidebar {
                transform: translateX(-100%);
            }
            
            .kiswate-main {
                margin-left: 0;
                padding: var(--spacing-lg);
            }
            
            .kiswate-form-row,
            .kiswate-form-row-triple {
                grid-template-columns: 1fr;
            }
            
            .kiswate-form-header h2 {
                font-size: var(--font-size-3xl);
            }
            
            .kiswate-form-container {
                padding: var(--spacing-3xl);
            }
            
            .kiswate-header {
                flex-direction: column;
                gap: var(--spacing-lg);
            }
        }

        @media (max-width: 480px) {
            .kiswate-form-container {
                padding: var(--spacing-2xl);
            }
            
            .kiswate-form-header h2 {
                font-size: var(--font-size-2xl);
            }
        }

        /* ===== DEMO STYLES (Remove in production) ===== */
        .demo-section {
            margin: var(--spacing-4xl) 0;
            padding: var(--spacing-3xl);
            border: 1px dashed var(--neutral-300);
            border-radius: var(--radius-lg);
        }

        .demo-title {
            font-size: var(--font-size-xl);
            font-weight: var(--font-weight-bold);
            margin-bottom: var(--spacing-lg);
            color: var(--neutral-800);
        }

        .demo-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: var(--spacing-lg);
            margin: var(--spacing-lg) 0;
        }
