@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--dkl-primary:#7b2d8e;--dkl-primary-light:#9b4db0;--dkl-primary-dark:#5a1b6b;--dkl-primary-bg:#7b2d8e0f;--dkl-primary-bg-hover:#7b2d8e1f;--dkl-magenta:#c2185b;--bg:#f8f9fa;--surface:#fff;--surface-hover:#f1f3f5;--border:#e2e5e9;--border-light:#eceef0;--text-primary:#1a1d21;--text-secondary:#5f6b7a;--text-muted:#8b95a5;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 30px #0000001a;--shadow-card:0 2px 8px #0000000a,0 1px 2px #0000000f;--radius:10px;--radius-lg:14px;--radius-sm:6px;--transition:.2s ease}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}body{background:var(--bg);min-height:100vh}.app{max-width:1280px;margin:0 auto;padding:16px 20px 40px}.content{grid-template-columns:280px 1fr;align-items:start;gap:24px;display:grid}.sidebar{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-card);position:sticky;top:16px;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px 18px 12px;display:flex}.sidebar-header h2{letter-spacing:.02em;text-transform:uppercase;font-size:.9rem;font-weight:600}.clear-btn{color:var(--dkl-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition);background:0 0;border:none;padding:4px 8px;font-size:.78rem;font-weight:500}.clear-btn:hover{background:var(--dkl-primary-bg)}.filter-group{border-bottom:1px solid var(--border-light);padding:14px 18px}.filter-group:last-child{border-bottom:none}.filter-group h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:.78rem;font-weight:600}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;transition:border-color var(--transition),box-shadow var(--transition);background:var(--bg);outline:none;padding:9px 12px;font-family:Inter,sans-serif;font-size:.88rem}.search-input:focus{border-color:var(--dkl-primary);box-shadow:0 0 0 3px #7b2d8e1a}.checkbox-list{flex-direction:column;gap:2px;max-height:200px;display:flex;overflow-y:auto}.checkbox-list::-webkit-scrollbar{width:4px}.checkbox-list::-webkit-scrollbar-track{background:0 0}.checkbox-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.checkbox-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);color:var(--text-primary);align-items:center;gap:8px;padding:5px 8px;font-size:.82rem;display:flex}.checkbox-item:hover{background:var(--surface-hover)}.checkbox-item input[type=checkbox]{accent-color:var(--dkl-primary);cursor:pointer;width:15px;height:15px}.checkbox-item .count{color:var(--text-muted);background:var(--bg);border-radius:10px;margin-left:auto;padding:1px 6px;font-size:.72rem}.active-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.active-filter-tag{background:var(--dkl-primary);color:#fff;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.active-filter-tag button{color:#fffc;cursor:pointer;background:0 0;border:none;padding:0 0 0 2px;font-size:.85rem;line-height:1}.active-filter-tag button:hover{color:#fff}.jobs-area{flex-direction:column;gap:12px;display:flex}.results-bar{justify-content:space-between;align-items:center;padding:0 2px;display:flex}.results-count{color:var(--text-secondary);font-size:.88rem}.results-count strong{color:var(--text-primary);font-weight:600}.job-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:box-shadow var(--transition),border-color var(--transition),transform var(--transition);cursor:pointer;padding:20px 22px}.job-card:hover{box-shadow:var(--shadow-md);border-color:var(--dkl-primary-light);transform:translateY(-1px)}.job-card-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.job-title{color:var(--dkl-primary);font-size:1.05rem;font-weight:600;line-height:1.3}.job-meta{color:var(--text-secondary);align-items:center;gap:14px;margin-bottom:12px;font-size:.82rem;display:flex}.job-meta-item{align-items:center;gap:4px;display:flex}.job-meta-item svg{flex-shrink:0;width:14px;height:14px}.job-type-badge{background:var(--dkl-primary-bg);color:var(--dkl-primary);white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:.72rem;font-weight:600}.job-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:14px;font-size:.85rem;line-height:1.55;display:-webkit-box;overflow:hidden}.job-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tag{background:var(--dkl-primary-bg);color:var(--dkl-primary-dark);border:1px solid #7b2d8e1f;border-radius:20px;padding:3px 10px;font-size:.72rem;font-weight:500}.tag-secondary{color:#3b5998;background:#f0f4ff;border-color:#3b59981f}.job-footer{justify-content:space-between;align-items:center;display:flex}.job-date{color:var(--text-muted);font-size:.78rem}.apply-btn{background:var(--dkl-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition),transform var(--transition);border:none;align-items:center;gap:6px;padding:8px 18px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.apply-btn:hover{background:var(--dkl-primary-dark);transform:translateY(-1px)}.pagination{justify-content:center;align-items:center;gap:8px;margin-top:20px;padding:16px 0;display:flex}.page-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);align-items:center;gap:4px;padding:8px 14px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:500;display:inline-flex}.page-btn:hover:not(:disabled){border-color:var(--dkl-primary);color:var(--dkl-primary)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-numbers{align-items:center;gap:4px;display:flex}.page-num{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:.82rem;font-weight:500;display:flex}.page-num:hover{border-color:var(--dkl-primary);color:var(--dkl-primary)}.page-num.active{background:var(--dkl-primary);color:#fff;border-color:var(--dkl-primary)}.page-dots{color:var(--text-muted);padding:0 4px}.loading{text-align:center;color:var(--text-muted);padding:60px 20px}.spinner{border:3px solid var(--border);border-top-color:var(--dkl-primary);border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);padding:60px 20px}.empty h3{margin-bottom:6px;font-size:1rem}.empty p{color:var(--text-muted);font-size:.88rem}.error{text-align:center;border-radius:var(--radius);background:#fff5f5;border:1px solid #fed7d7;padding:40px 20px}.error p{color:#c53030}.detail-view{max-width:960px;margin:0 auto}.back-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:6px;margin-bottom:20px;padding:8px 14px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;display:inline-flex}.back-btn:hover{border-color:var(--dkl-primary);color:var(--dkl-primary)}.detail-header{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:20px;padding:28px 32px}.detail-title{color:var(--dkl-primary);margin-bottom:12px;font-size:1.5rem;font-weight:700;line-height:1.3}.detail-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;font-size:.88rem;display:flex}.detail-meta-item{align-items:center;gap:5px;display:flex}.detail-meta-item svg{width:16px;height:16px}.detail-tags{flex-wrap:wrap;gap:6px;display:flex}.detail-content{grid-template-columns:1fr 300px;align-items:start;gap:20px;display:grid}.detail-main{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:28px 32px}.rich-text-content{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.rich-text-content h1,.rich-text-content h2,.rich-text-content h3,.rich-text-content h4{color:var(--dkl-primary);margin-top:24px;margin-bottom:10px;font-weight:700;line-height:1.3}.rich-text-content h1{font-size:1.15rem}.rich-text-content h2{font-size:1.05rem}.rich-text-content h3{font-size:.95rem}.rich-text-content h4{font-size:.9rem}.rich-text-content h1:first-child,.rich-text-content h2:first-child,.rich-text-content h3:first-child,.rich-text-content h4:first-child{margin-top:0}.rich-text-content p{margin-bottom:10px}.rich-text-content ul,.rich-text-content ol{margin-bottom:14px;padding-left:20px}.rich-text-content li{padding:3px 0;line-height:1.6;position:relative}.rich-text-content ul li::marker{color:var(--dkl-primary-light)}.rich-text-content strong,.rich-text-content b{color:var(--text-primary);font-weight:600}.rich-text-content a{color:var(--dkl-primary);text-decoration:underline}.rich-text-content a:hover{color:var(--dkl-primary-dark)}.rich-text-content br+br{content:"";margin-top:8px;display:block}.detail-sidebar{position:sticky;top:16px}.detail-info-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:16px;padding:20px 22px}.detail-info-card h3{text-transform:uppercase;letter-spacing:.03em;color:var(--text-primary);margin-bottom:14px;font-size:.85rem;font-weight:700}.detail-info-card dl{gap:10px;display:grid}.detail-info-card dt{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.75rem;font-weight:600}.detail-info-card dd{color:var(--text-primary);margin-bottom:4px;font-size:.88rem}.apply-btn-large{background:var(--dkl-primary);color:#fff;border-radius:var(--radius);cursor:pointer;width:100%;transition:background var(--transition),transform var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-family:Inter,sans-serif;font-size:1rem;font-weight:700;text-decoration:none;display:flex;box-shadow:0 4px 14px #7b2d8e4d}.apply-btn-large:hover{background:var(--dkl-primary-dark);transform:translateY(-2px)}.apply-hint{text-align:center;color:var(--text-muted);margin-top:8px;font-size:.75rem}.apply-form-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px 22px}.apply-form-card h3{color:var(--dkl-primary);margin-bottom:16px;font-size:.95rem;font-weight:700}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-field{margin-bottom:12px}.form-field label{color:var(--text-secondary);margin-bottom:4px;font-size:.78rem;font-weight:600;display:block}.form-hint{color:var(--text-muted);font-weight:400}.phone-input-row{gap:6px;width:100%;display:flex}.phone-prefix{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;flex-shrink:0;width:90px;padding:9px 6px;font-family:Inter,sans-serif;font-size:.8rem}.phone-input-row input{border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;outline:none;flex:1;min-width:0;padding:9px 12px;font-family:Inter,sans-serif;font-size:.85rem}.phone-input-row input:focus{border-color:var(--dkl-primary);box-shadow:0 0 0 3px #7b2d8e1a}.form-field input[type=text],.form-field input[type=email]{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;transition:border-color var(--transition),box-shadow var(--transition);outline:none;padding:9px 12px;font-family:Inter,sans-serif;font-size:.85rem}.form-field input[type=text]:focus,.form-field input[type=email]:focus{border-color:var(--dkl-primary);box-shadow:0 0 0 3px #7b2d8e1a}.file-upload-btn{border:2px dashed var(--border);border-radius:var(--radius-sm);text-align:center;width:100%;color:var(--text-secondary);background:var(--bg);cursor:pointer;transition:border-color var(--transition),background var(--transition);word-break:break-all;padding:12px 14px;font-family:Inter,sans-serif;font-size:.82rem;display:block}.file-upload-btn:hover{border-color:var(--dkl-primary);background:var(--dkl-primary-bg)}.form-error{border-radius:var(--radius-sm);color:#c53030;background:#fff5f5;border:1px solid #fed7d7;margin-bottom:12px;padding:8px 12px;font-size:.82rem}.apply-btn-large:disabled{opacity:.6;cursor:not-allowed;transform:none}.apply-success{background:var(--surface);border-radius:var(--radius-lg);text-align:center;border:1px solid #c6f6d5;padding:24px 20px}.success-icon{color:#fff;background:#38a169;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 12px;font-size:1.5rem;font-weight:700;display:flex}.apply-success h4{color:#2f855a;margin-bottom:6px;font-size:1rem;font-weight:700}.apply-success p{color:var(--text-secondary);font-size:.85rem}.mobile-filter-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--dkl-primary);cursor:pointer;text-align:center;transition:background var(--transition);margin-bottom:16px;padding:12px;font-family:Inter,sans-serif;font-size:.88rem;font-weight:600;display:none}.mobile-filter-toggle:hover{background:var(--dkl-primary-bg)}@media (max-width:768px){.app{padding:12px 12px 30px}.content{grid-template-columns:1fr;gap:16px}.mobile-filter-toggle{display:block}.sidebar{display:none;position:static}.sidebar.open{display:block}.job-card{padding:16px}.job-card-top{flex-direction:column;gap:8px}.job-meta{flex-wrap:wrap;gap:8px}.detail-header{padding:20px}.detail-title{font-size:1.2rem}.detail-content{grid-template-columns:1fr}.detail-main{padding:20px}.detail-sidebar{position:static}}body.iframe-mode{background:0 0}body.iframe-mode .app{padding-top:8px}
