*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #f8f9fc;--color-surface: #ffffff;--color-surface-hover: #f1f3f9;--color-border: #e2e8f0;--color-border-focus: #4f46e5;--color-text-primary: #1e293b;--color-text-secondary: #64748b;--color-accent: #4f46e5;--color-accent-light: #818cf8;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-danger: #dc2626;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .08);--transition-fast: .15s ease;--transition-base: .25s ease;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg);line-height:1.6;min-height:100vh}a{color:var(--color-accent);text-decoration:none}a:hover{color:#4338ca}.navbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-8);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.nav-brand{font-size:var(--font-size-lg);font-weight:700;background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-right{display:flex;align-items:center;gap:var(--space-4)}.nav-user{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);background:transparent;color:var(--color-text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-secondary{background:#f1f5f9;border-color:#cbd5e1}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-warning{background:transparent;border-color:var(--color-warning);color:var(--color-warning)}.btn-warning:hover:not(:disabled){background:#f59e0b1a}.btn-danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#dc26261a}.btn-full{width:100%}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.link-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-family);font-weight:600}.link-btn:hover{color:#4338ca}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8)}.auth-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-lg)}.auth-title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--space-2)}.auth-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-6)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-switch{text-align:center;margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.form-group input,.form-group textarea,.form-group select{padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-border-focus)}.form-group textarea{resize:vertical;min-height:120px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.page-shell{max-width:960px;margin:0 auto;padding:var(--space-8)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-3)}.page-header h1{font-size:var(--font-size-2xl);font-weight:700}.header-actions{display:flex;gap:var(--space-2)}.filters-bar{display:flex;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.filter-input{padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family)}.filter-input:focus{outline:none;border-color:var(--color-border-focus)}.search-input{flex:1;min-width:200px}.job-grid{display:flex;flex-direction:column;gap:var(--space-4)}.job-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.job-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.job-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.job-card-title{font-size:var(--font-size-lg);font-weight:600}.job-card-meta{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.meta-sep{opacity:.4}.job-card-skills{font-size:var(--font-size-sm);color:var(--color-accent-light);margin-bottom:var(--space-2)}.job-card-footer{font-size:var(--font-size-xs)}.badge{display:inline-block;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.badge-open{background:#00d2a026;color:var(--color-success)}.badge-closed{background:#ff6b6b26;color:var(--color-error)}.detail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.detail-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1)}.detail-value{font-size:var(--font-size-base);font-weight:500}.detail-section{margin-bottom:var(--space-6)}.detail-section h2{font-size:var(--font-size-lg);margin-bottom:var(--space-3)}.detail-text{color:var(--color-text-secondary);white-space:pre-wrap;line-height:1.7}.skills-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skill-tag{padding:var(--space-1) var(--space-3);background:#6c5ce71f;color:var(--color-accent-light);border-radius:var(--radius-full);font-size:var(--font-size-sm)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-6)}.pagination-info{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.loading-state,.empty-state{text-align:center;padding:var(--space-12);color:var(--color-text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.alert-error{background:#ff6b6b1f;color:var(--color-error);border:1px solid rgba(255,107,107,.2)}.text-secondary{color:var(--color-text-secondary)}@media (max-width: 640px){.page-shell{padding:var(--space-4)}.page-header h1{font-size:var(--font-size-xl)}.form-row{grid-template-columns:1fr}.filters-bar{flex-direction:column}.detail-grid{grid-template-columns:1fr 1fr}.navbar{padding:var(--space-3) var(--space-4)}}.page-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8)}
