@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.company-list-page{min-height:100vh;display:flex;flex-direction:column;padding-bottom:76px}.company-list-page .page-header{background:#fff;padding:12px 16px;box-shadow:0 1px 2px rgba(0,0,0,.05)}@media (min-width:768px){.company-list-page .page-header{padding:16px 24px;margin-top:60px;position:sticky;top:60px;z-index:200}}.company-list-page .page-header .page-header-search{margin-bottom:12px}@media (min-width:768px){.company-list-page .page-header .page-header-search{margin-bottom:16px}}.company-list-page .page-header .page-header-search .search-input-wrap{position:relative;display:flex;align-items:center}.company-list-page .page-header .page-header-search .search-input-wrap i{position:absolute;left:12px;color:#9ca3af;font-size:16px;pointer-events:none}.company-list-page .page-header .page-header-search .search-input-wrap .search-input{width:100%;height:44px;padding:0 60px 0 calc(12px + 16px);border:1px solid #e5e7eb;border-radius:9999px;background:#f9fafb;font-size:16px;color:#111827;outline:0;transition:all .2s ease-out}.company-list-page .page-header .page-header-search .search-input-wrap .search-input::placeholder{color:#9ca3af}.company-list-page .page-header .page-header-search .search-input-wrap .search-input:focus{border-color:#c41a1a;background:#fff;box-shadow:0 0 0 2px rgba(196,26,26,.1)}.company-list-page .page-header .page-header-search .search-input-wrap .search-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);height:32px;padding:0 14px;border:none;border-radius:9999px;background:#c41a1a;color:#fff;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease-out}.company-list-page .page-header .page-header-search .search-input-wrap .search-btn:active{background:#9b1c1c;transform:translateY(-50%) scale(.96)}.company-list-page .page-header .page-header-meta{display:flex;align-items:center;justify-content:space-between}.company-list-page .page-header .page-header-meta .result-count{font-size:14px;color:#6b7280}.company-list-page .page-header .page-header-meta .result-count strong{color:#c41a1a;font-weight:700}.companies-list-container{padding:16px}@media (min-width:768px){.companies-list-container{width:100%;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;padding-top:16px}}@media (min-width:640px){.companies-list-container{max-width:640px}}@media (min-width:1024px){.companies-list-container{max-width:1024px}}@media (min-width:1280px){.companies-list-container{max-width:1200px}}.companies-list-main{min-width:0}.companies-list{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:375px){.companies-list{grid-template-columns:repeat(2,1fr);gap:12px}}@media (min-width:640px){.companies-list{grid-template-columns:repeat(2,1fr);gap:16px}}@media (min-width:1024px){.companies-list{grid-template-columns:repeat(3,1fr)}}.companies-list .company-card{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .2s ease-out;cursor:pointer;padding:12px;overflow:hidden}.companies-list .company-card:active{transform:scale(.98);background:#f9fafb}@media (min-width:640px){.companies-list .company-card{padding:16px}}.companies-list .company-card .company-card-body{display:flex;gap:8px;align-items:flex-start}@media (min-width:375px){.companies-list .company-card .company-card-body{gap:12px}}@media (min-width:640px){.companies-list .company-card .company-card-body{gap:16px}}.companies-list .company-card .company-card-body .company-logo-wrapper{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#c41a1a 0,#9b1c1c 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}@media (min-width:375px){.companies-list .company-card .company-card-body .company-logo-wrapper{width:48px;height:48px}}@media (min-width:640px){.companies-list .company-card .company-card-body .company-logo-wrapper{width:56px;height:56px}}@media (min-width:768px){.companies-list .company-card .company-card-body .company-logo-wrapper{width:64px;height:64px}}.companies-list .company-card .company-card-body .company-logo-wrapper i{font-size:18px;color:#fff}@media (min-width:375px){.companies-list .company-card .company-card-body .company-logo-wrapper i{font-size:22px}}@media (min-width:640px){.companies-list .company-card .company-card-body .company-logo-wrapper i{font-size:28px}}@media (min-width:768px){.companies-list .company-card .company-card-body .company-logo-wrapper i{font-size:32px}}.companies-list .company-card .company-card-body .company-logo-wrapper img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.companies-list .company-card .company-card-body .company-logo-wrapper .company-avatar-text{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:14px;font-weight:700;color:#fff;letter-spacing:1px;user-select:none}@media (min-width:375px){.companies-list .company-card .company-card-body .company-logo-wrapper .company-avatar-text{font-size:16px}}@media (min-width:640px){.companies-list .company-card .company-card-body .company-logo-wrapper .company-avatar-text{font-size:18px}}@media (min-width:768px){.companies-list .company-card .company-card-body .company-logo-wrapper .company-avatar-text{font-size:20px}}.companies-list .company-card .company-card-body .company-info-wrapper{flex:1;min-width:0}.companies-list .company-card .company-card-body .company-info-wrapper .company-name{font-size:14px;font-weight:600;color:#111827;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:375px){.companies-list .company-card .company-card-body .company-info-wrapper .company-name{font-size:16px;margin-bottom:8px}}@media (min-width:640px){.companies-list .company-card .company-card-body .company-info-wrapper .company-name{font-size:18px}}.companies-list .company-card .company-card-body .company-info-wrapper .company-meta{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}@media (min-width:375px){.companies-list .company-card .company-card-body .company-info-wrapper .company-meta{gap:8px;margin-bottom:12px}}.companies-list .company-card .company-card-body .company-info-wrapper .company-meta .meta-tag{display:inline-block;padding:4px 12px;background:#f9fafb;color:#6b7280;border-radius:4px;font-size:12px;line-height:1.5;font-size:10px;padding:1px 4px}@media (min-width:375px){.companies-list .company-card .company-card-body .company-info-wrapper .company-meta .meta-tag{font-size:12px;padding:2px 6px}}@media (min-width:640px){.companies-list .company-card .company-card-body .company-info-wrapper .company-meta .meta-tag{padding:4px 12px}}.companies-list .company-card .company-card-body .company-info-wrapper .company-desc{display:none}@media (min-width:640px){.companies-list .company-card .company-card-body .company-info-wrapper .company-desc{display:block;font-size:14px;color:#6b7280;line-height:1.75;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.companies-list .company-card .company-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #e5e7eb;margin-top:8px}@media (min-width:375px){.companies-list .company-card .company-card-footer{padding-top:12px;margin-top:12px}}.companies-list .company-card .company-card-footer .job-count{font-size:10px;color:#6b7280}@media (min-width:375px){.companies-list .company-card .company-card-footer .job-count{font-size:12px}}@media (min-width:640px){.companies-list .company-card .company-card-footer .job-count{font-size:14px}}.companies-list .company-card .company-card-footer .job-count strong{color:#dc2626;font-weight:600}.companies-list .company-card .company-card-footer .view-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease-out;outline:0;border:none;background:0 0;color:#c41a1a;border:1px solid #c41a1a;font-size:10px;padding:0 8px;height:28px}.companies-list .company-card .company-card-footer .view-btn:active{transform:scale(.96)}.companies-list .company-card .company-card-footer .view-btn:disabled{opacity:.5;cursor:not-allowed}.companies-list .company-card .company-card-footer .view-btn:hover{background:#fef2f2}@media (min-width:375px){.companies-list .company-card .company-card-footer .view-btn{font-size:12px;padding:0 12px;height:32px}}@media (min-width:640px){.companies-list .company-card .company-card-footer .view-btn{font-size:14px;padding:0 16px;height:44px}}.filter-drawer{position:fixed;top:0;right:0;width:85%;max-width:320px;height:100vh;background:#fff;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);z-index:500;transform:translateX(100%);transition:transform .35s ease-out;overflow-y:auto;display:flex;flex-direction:column}.filter-drawer.open{transform:translateX(0)}.filter-drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.filter-drawer .drawer-header .drawer-title{font-size:18px;font-weight:600;color:#111827}.filter-drawer .drawer-header .drawer-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:20px}.filter-drawer .filter-body{flex:1;overflow-y:auto;padding:16px 20px}.filter-drawer .filter-body .filter-group{margin-bottom:20px}.filter-drawer .filter-body .filter-group:last-child{margin-bottom:0}.filter-drawer .filter-body .filter-group .filter-label{display:block;font-size:14px;font-weight:500;color:#111827;margin-bottom:12px}.filter-drawer .filter-body .filter-group .filter-input .layui-input{border-radius:8px;font-size:16px}.filter-drawer .filter-body .filter-group .filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-drawer .filter-body .filter-group .filter-options .filter-option{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#f9fafb;border-radius:9999px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s ease-out}.filter-drawer .filter-body .filter-group .filter-options .filter-option input[type=radio]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid #e5e7eb;border-radius:50%;transition:all .2s ease-out}.filter-drawer .filter-body .filter-group .filter-options .filter-option input[type=radio]:checked{border-color:#c41a1a;background:#c41a1a;box-shadow:inset 0 0 0 3px #fff}.filter-drawer .filter-body .filter-group .filter-options .filter-option.active,.filter-drawer .filter-body .filter-group .filter-options .filter-option:has(input:checked){background:rgba(196,26,26,.1);color:#c41a1a}.filter-drawer .drawer-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb}.filter-drawer .drawer-footer .btn-confirm,.filter-drawer .drawer-footer .btn-reset{flex:1;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:16px;font-weight:500;transition:all .2s ease-out}.filter-drawer .drawer-footer .btn-reset{background:#f9fafb;color:#374151;border:none}.filter-drawer .drawer-footer .btn-reset:active{background:#eaedf1}.filter-drawer .drawer-footer .btn-confirm{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease-out;outline:0;border:none;background:#c41a1a;color:#fff}.filter-drawer .drawer-footer .btn-confirm:active{transform:scale(.96)}.filter-drawer .drawer-footer .btn-confirm:disabled{opacity:.5;cursor:not-allowed}.filter-drawer .drawer-footer .btn-confirm:hover{background:#9b1c1c}.filter-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:calc(500 - 1);opacity:0;visibility:hidden;transition:all .2s ease-out}.filter-overlay.visible{opacity:1;visibility:visible}.pagination{padding:24px 0;display:flex;justify-content:center}.pagination .pagination-inner{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.pagination .pagination-inner .page-btn{min-width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:12px;cursor:pointer;transition:all .2s ease-out}@media (min-width:640px){.pagination .pagination-inner .page-btn{min-width:36px;height:36px;font-size:14px}}.pagination .pagination-inner .page-btn:hover:not(:disabled){border-color:#c41a1a;color:#c41a1a}.pagination .pagination-inner .page-btn.active{background:#c41a1a;color:#fff;border-color:#c41a1a}.pagination .pagination-inner .page-btn:disabled{opacity:.4;cursor:not-allowed}.pagination .pagination-inner .page-ellipsis{color:#9ca3af;padding:0 8px}