@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-tertiary:#e2e8f0;--bg-card:#fff;--bg-card-hover:#f8fafc;--color-primary:#16a34a;--color-primary-hover:#15803d;--color-accent:#eab308;--color-accent-hover:#ca8a04;--color-success:#22c55e;--color-warning:#f59e0b;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--border-color:#e2e8f0;--border-hover:#cbd5e1;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:24px;--font-size-3xl:32px;--transition-fast:.1s ease;--transition-base:.2s ease;--max-width:1200px;--navbar-height:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;font-size:var(--font-size-base);min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}.page-content{min-height:calc(100vh - var(--navbar-height));padding-bottom:var(--space-2xl)}.glass-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast), background var(--transition-fast)}.navbar{z-index:100;height:var(--navbar-height);background:var(--bg-primary);border-bottom:1px solid var(--border-color);align-items:center;display:flex;position:sticky;top:0}.navbar-inner{width:100%;max-width:var(--max-width);padding:0 var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar-brand{font-weight:600;font-size:var(--font-size-lg);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.navbar-brand-icon{background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.navbar-nav{gap:var(--space-md);align-items:center;display:flex}.navbar-link{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.navbar-link:hover,.navbar-link.active{color:var(--text-primary)}.navbar-cta{font-size:var(--font-size-sm);color:#fff;background:var(--color-accent);border-radius:var(--radius-md);padding:6px 16px;font-weight:500}.navbar-cta:hover{background:var(--color-accent-hover)}.navbar-mobile-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;display:none}@media (max-width:768px){.navbar-nav{display:none}.navbar-nav.mobile-open{top:var(--navbar-height);background:var(--bg-primary);padding:var(--space-lg);border-bottom:1px solid var(--border-color);flex-direction:column;align-items:flex-start;display:flex;position:absolute;left:0;right:0;box-shadow:0 10px 15px -3px #0000001a}.navbar-mobile-toggle{display:block}}.hero{padding:var(--space-2xl) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--space-2xl)}.hero-badge{font-size:var(--font-size-xs);color:var(--color-accent);border-radius:var(--radius-sm);margin-bottom:var(--space-md);background:#3b82f61a;padding:4px 8px;font-weight:500;display:inline-block}.hero-title{font-size:var(--font-size-3xl);margin-bottom:var(--space-sm);letter-spacing:-.02em;font-weight:700}.hero-title-gradient{color:var(--color-accent)}.hero-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);max-width:700px;margin-bottom:var(--space-lg);font-weight:400}.hero-actions{gap:var(--space-sm);display:flex}.btn{font-size:var(--font-size-sm);border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:8px 16px;font-weight:500;display:inline-flex}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-hover)}.btn-ghost{color:var(--text-secondary);padding:6px 12px}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-tertiary)}.stats-grid{gap:var(--space-md);margin-bottom:var(--space-2xl);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{padding:var(--space-md);flex-direction:column;display:flex}.stat-icon{margin-bottom:var(--space-sm);color:var(--text-tertiary);font-size:16px}.stat-value{font-size:var(--font-size-2xl);color:var(--text-primary);margin-bottom:2px;font-weight:700}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.section{padding:var(--space-xl) 0;margin-bottom:var(--space-xl)}.section-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-end;display:flex}.section-title{font-size:var(--font-size-xl);font-weight:600}.section-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:2px}.vacancy-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.vacancy-card{padding:var(--space-md);gap:var(--space-sm);cursor:pointer;flex-direction:column;display:flex}.vacancy-card:hover{border-color:var(--color-accent);background:var(--bg-card-hover)}.vacancy-card-header{gap:var(--space-sm);display:flex}.vacancy-card-logo{border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex;overflow:hidden}.vacancy-card-info{flex:1;min-width:0}.vacancy-card-title{font-size:var(--font-size-base);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-weight:600;line-height:1.3;overflow:hidden}.vacancy-card-company{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vacancy-card-meta{flex-wrap:wrap;gap:6px;display:flex}.vacancy-tag{border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-flex}.vacancy-card-footer{padding-top:var(--space-sm);font-size:var(--font-size-xs);color:var(--text-tertiary);border-top:1px dashed var(--border-color);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.vacancy-card-action{color:var(--color-accent);font-weight:500}.search-section{margin-bottom:var(--space-xl)}.search-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:4px;display:flex}.search-bar:focus-within{border-color:var(--color-accent)}.search-icon{margin:0 var(--space-sm);color:var(--text-tertiary);align-self:center}.search-input{color:var(--text-primary);font-size:var(--font-size-sm);background:0 0;border:none;outline:none;flex:1;padding:8px 0}.search-btn{background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:0 16px;font-weight:500}.lowongan-layout{gap:var(--space-xl);flex-direction:column;display:flex}.filter-header-bar{padding:var(--space-md);margin-bottom:var(--space-xl);gap:var(--space-md);flex-direction:column;display:flex}.filter-controls-row{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;display:grid}.filter-group{width:100%}.filter-group-title{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.filter-select{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);outline:none;padding:6px 8px}.filter-select:focus{border-color:var(--color-accent)}.filter-clear{font-size:var(--font-size-xs);color:var(--text-secondary)}.filter-clear:hover{color:var(--text-primary)}.results-count{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-bottom:var(--space-md)}.detail-header{padding:var(--space-xl) 0 var(--space-lg);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-xl)}.detail-back{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-lg);display:inline-block}.detail-back:hover{color:var(--text-primary)}.detail-top{gap:var(--space-lg);align-items:flex-start;display:flex}.detail-logo{border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);width:64px;height:64px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:24px;font-weight:600;display:flex;overflow:hidden}.detail-info h1{font-size:var(--font-size-2xl);margin-bottom:4px;font-weight:700;line-height:1.2}.detail-company{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--space-md)}.detail-tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.detail-grid{gap:var(--space-xl);grid-template-columns:1fr 300px;display:grid}.detail-section{margin-bottom:var(--space-xl);padding:var(--space-xl)}.detail-section h2{font-size:var(--font-size-lg);margin-bottom:var(--space-md);color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-sm);font-weight:600}.detail-description{color:var(--text-secondary);font-size:var(--font-size-sm);white-space:pre-wrap;line-height:1.7}.detail-sidebar-card{padding:var(--space-md);margin-bottom:var(--space-lg)}.detail-sidebar-card h3{font-size:var(--font-size-base);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color)}.detail-info-row{gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.detail-info-icon{color:var(--text-tertiary);font-size:14px}.detail-info-label{font-size:var(--font-size-xs);color:var(--text-tertiary)}.detail-info-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.detail-apply-btn{background:var(--color-accent);color:#fff;text-align:center;border-radius:var(--radius-md);width:100%;font-weight:500;font-size:var(--font-size-sm);padding:10px;display:block}.detail-apply-btn:hover{background:var(--color-accent-hover)}.timeline{gap:var(--space-md);margin:var(--space-xl) 0;padding:var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);display:flex}.timeline-item{flex:1}.timeline-step{color:var(--color-accent);text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:600}.timeline-title{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.timeline-date{font-size:var(--font-size-xs);color:var(--text-secondary)}.footer{border-top:1px solid var(--border-color);padding:var(--space-2xl) 0;margin-top:var(--space-2xl);font-size:var(--font-size-sm)}.footer-grid{gap:var(--space-xl);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer-title{font-size:var(--font-size-sm);margin-bottom:var(--space-md);color:var(--text-primary);font-weight:600}.footer-links{flex-direction:column;gap:8px;display:flex}.footer-link{color:var(--text-secondary)}.footer-link:hover{color:var(--text-primary)}.footer-bottom{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--border-color);color:var(--text-tertiary);font-size:var(--font-size-xs);justify-content:space-between;display:flex}.pagination{margin-top:var(--space-xl);justify-content:center;gap:4px;display:flex}.pagination-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);width:32px;height:32px;color:var(--text-secondary);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.pagination-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.pagination-btn-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.skeleton{background:var(--bg-tertiary);border-radius:var(--radius-sm);animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.faq-container{gap:var(--space-xl);flex-direction:column;display:flex}.faq-tabs{gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color);display:flex;overflow-x:auto}.faq-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.faq-tab:hover{background:var(--surface-hover);color:var(--text-primary)}.faq-tab.active{background:var(--color-accent);color:#fff}.faq-item{transition:all .3s}.faq-question:hover{color:var(--color-accent)!important}.empty-state{text-align:center;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;margin:32px 0;padding:48px 24px;display:flex}.empty-state-icon{color:var(--text-tertiary);margin-bottom:16px}.empty-state-title{color:var(--text-primary);margin-bottom:8px;font-size:20px;font-weight:600}.empty-state-desc{color:var(--text-secondary);max-width:400px;margin:0 auto;font-size:15px}.dashboard-layout{min-height:calc(100vh - var(--navbar-height));display:flex}.dashboard-sidebar-container{display:contents}.dashboard-sidebar{background:var(--bg-card);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:260px;padding:24px 16px;display:flex}.dashboard-main-content{flex:1;max-width:1000px;margin:0 auto;padding:32px}.sidebar-link{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:12px;padding:10px 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-link.active{color:var(--color-primary);background:#16a34a1a}.sidebar-link svg{transition:all var(--transition-fast)}.sidebar-link.active svg{color:var(--color-primary)}.sidebar-overlay,.close-sidebar-btn,.dashboard-hamburger{display:none}@media (max-width:768px){.dashboard-layout{flex-direction:column}.dashboard-hamburger{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:6px;transition:background .2s;display:flex}.dashboard-hamburger:hover{background:var(--surface-hover)}.sidebar-overlay{z-index:105;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:block;position:fixed;inset:0}.dashboard-sidebar-container{background:var(--bg-card);z-index:110;width:240px;height:100vh;transition:left .3s;display:block;position:fixed;top:0;left:-260px;overflow-y:auto;box-shadow:2px 0 10px #0000001a}.dashboard-sidebar-container.open{left:0}.dashboard-sidebar{border-right:none;width:100%;height:100%;padding-top:60px}.close-sidebar-btn{color:var(--text-secondary);cursor:pointer;z-index:51;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:16px;right:16px}.dashboard-main-content{padding:16px}}.list-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}@media (max-width:992px){.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}@media (max-width:768px){.list-header{flex-direction:column;align-items:flex-start}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1rem}.detail-top{text-align:center;flex-direction:column;align-items:center}.detail-logo{margin-bottom:var(--space-sm)}.detail-info h1{font-size:1.5rem}.stats-grid,.filter-controls-row,.vacancy-grid{grid-template-columns:1fr}.vacancy-card-meta{justify-content:flex-start}.detail-apply-btn{text-align:center;justify-content:center;width:100%}.container,.navbar-inner{padding:0 var(--space-md)}}
