:root{--mobile-bar:60px;--mobile-nav:68px;--mobile-safe-bottom:env(safe-area-inset-bottom,0px)}
.mobile-app-header,.mobile-bottom-nav,.mobile-filter-backdrop,.mobile-detail-bar,.mobile-filter-head{display:none}
.pwa-update{position:fixed;z-index:250;right:18px;bottom:18px;display:flex;max-width:390px;padding:13px 14px;align-items:center;gap:16px;border-radius:15px;background:#173d4a;color:#fff;box-shadow:0 16px 42px rgba(10,35,44,.25)}.pwa-update div{display:grid;gap:3px}.pwa-update span{color:#c7d9de;font-size:12px}.pwa-update button{min-height:40px;padding:0 13px;border:0;border-radius:9px;background:#dff8f4;color:#087f78;font-weight:800;white-space:nowrap}.pwa-network{position:fixed;z-index:260;top:0;right:0;left:0;padding:8px 14px;background:#fff1c7;color:#795c08;text-align:center;font-size:13px;font-weight:700}.pwa-guide{position:fixed;z-index:270;inset:0;display:grid;place-items:end center;padding:18px;background:rgba(11,35,43,.48)}.pwa-guide section{width:min(100%,460px);padding:24px;border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(10,34,43,.25)}.pwa-guide section>span{color:#088f87;font-size:13px;font-weight:800}.pwa-guide h2{margin:7px 0}.pwa-guide p{color:#617780;line-height:1.7}.pwa-guide button{width:100%;min-height:48px;border:0;border-radius:11px;background:#173d4a;color:#fff;font-weight:800}

@media(max-width:760px){
  html{scroll-behavior:smooth;background:#f5f8fa}
  body{min-width:0;padding-bottom:calc(var(--mobile-nav) + var(--mobile-safe-bottom));background:#f5f8fa;-webkit-tap-highlight-color:transparent}
  body.mobile-detail-open,body.mobile-filter-open{overflow:hidden}
  button,a,[role="button"]{touch-action:manipulation}

  body>header{position:sticky;z-index:100;top:0;width:100%;height:var(--mobile-bar);padding:0 14px;border-bottom:1px solid #dce7ea;background:rgba(255,255,255,.96);box-shadow:0 4px 18px rgba(20,57,70,.06);backdrop-filter:blur(14px)}
  body>header>.brand,body>header>.site-ad,body>header>.visitor{display:none!important}
  .mobile-app-header{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
  .mobile-wordmark{color:#087f8d;text-decoration:none;font-size:18px;font-weight:900;letter-spacing:-.5px;white-space:nowrap}
  .mobile-page-title{overflow:hidden;color:#29434e;font-size:14px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}
  .mobile-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px}
  .mobile-header-tools button,.mobile-header-tools a,.mobile-back{min-width:44px;min-height:38px;padding:0 11px;border:1px solid #d5e3e7;border-radius:11px;background:#fff;color:#31505c;text-decoration:none;font-size:13px;font-weight:700}
  .mobile-header-tools [data-pwa-install]{border-color:#55c8bf;background:#e1f8f5;color:#087f78}
  .mobile-back{display:none;align-items:center;gap:5px;padding:0 10px}
  .mobile-back:before{content:'';width:8px;height:8px;border:solid currentColor;border-width:0 0 2px 2px;transform:rotate(45deg)}
  body.mobile-detail-open .mobile-back{display:flex}
  body.mobile-detail-open .mobile-wordmark{display:none}
  body:not(.mobile-has-filters) [data-mobile-filter],body.mobile-employer [data-mobile-business]{display:none}

  .mobile-bottom-nav{position:fixed;z-index:110;right:0;bottom:0;left:0;display:grid;height:calc(var(--mobile-nav) + var(--mobile-safe-bottom));padding:7px 8px var(--mobile-safe-bottom);grid-template-columns:repeat(5,1fr);border-top:1px solid #dbe6e9;background:rgba(255,255,255,.97);box-shadow:0 -8px 28px rgba(18,54,68,.08);backdrop-filter:blur(16px)}
  .mobile-bottom-nav a{position:relative;display:flex;min-width:0;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:13px;color:#71828a;text-decoration:none;font-size:10px;font-weight:700}
  .mobile-bottom-nav a:active{transform:scale(.93)}
  .mobile-bottom-nav a.active{background:#e2f8f5;color:#078e86}
  .mobile-nav-icon{position:relative;display:block;width:20px;height:20px;color:currentColor}
  [data-mobile-nav="home"] .mobile-nav-icon:before{content:'';position:absolute;left:4px;top:7px;width:12px;height:10px;border:2px solid currentColor;border-top:0;border-radius:2px}
  [data-mobile-nav="home"] .mobile-nav-icon:after{content:'';position:absolute;left:5px;top:3px;width:9px;height:9px;border:solid currentColor;border-width:2px 0 0 2px;transform:rotate(45deg)}
  [data-mobile-nav="jobs"] .mobile-nav-icon:before{content:'';position:absolute;left:2px;top:2px;width:11px;height:11px;border:2px solid currentColor;border-radius:50%}
  [data-mobile-nav="jobs"] .mobile-nav-icon:after{content:'';position:absolute;right:2px;bottom:3px;width:8px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
  [data-mobile-nav="saved"] .mobile-nav-icon:before{content:'';position:absolute;left:4px;top:2px;width:12px;height:16px;border:2px solid currentColor;border-radius:3px 3px 1px 1px;clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}
  [data-mobile-nav="messages"] .mobile-nav-icon:before{content:'';position:absolute;left:2px;top:3px;width:16px;height:12px;border:2px solid currentColor;border-radius:4px}
  [data-mobile-nav="messages"] .mobile-nav-icon:after{content:'';position:absolute;left:6px;bottom:1px;width:6px;height:6px;border:solid currentColor;border-width:0 0 2px 2px;transform:skew(-25deg)}
  [data-mobile-nav="mine"] .mobile-nav-icon:before{content:'';position:absolute;left:7px;top:1px;width:7px;height:7px;border:2px solid currentColor;border-radius:50%}
  [data-mobile-nav="mine"] .mobile-nav-icon:after{content:'';position:absolute;left:3px;bottom:1px;width:14px;height:8px;border:2px solid currentColor;border-radius:10px 10px 3px 3px}

  #app{min-width:0}
  body>footer{margin-bottom:0}

  .home-polished .hero{min-height:0;padding:30px 17px 26px;grid-template-columns:1fr;gap:22px}
  .home-polished .hero h1{font-size:38px;line-height:1.08;letter-spacing:-1.5px}
  .home-polished .hero p{font-size:15px;line-height:1.65}
  .hero-kicker{margin-bottom:14px}
  .home-polished .hero .search{display:grid;margin-top:21px;padding:6px;grid-template-columns:1fr 112px;background:#fff}
  .home-polished .hero .search input{grid-column:1/-1;min-width:0;width:100%;border-radius:9px}
  .home-polished .hero .search select{min-width:0;width:100%;border-radius:9px}
  .home-polished .hero .search button{min-width:0;padding:0 12px}
  .hero-hot{overflow-x:auto;margin-right:-17px;padding-right:17px;flex-wrap:nowrap;scrollbar-width:none}
  .hero-hot::-webkit-scrollbar{display:none}
  .hero-hot span,.hero-hot button{flex:0 0 auto}
  .hero-metrics{justify-content:space-between;gap:12px;margin-top:23px}
  .hero-metric b{font-size:21px}
  .hero-panel{display:block;padding:18px;border-radius:18px}
  .hero-panel h3{font-size:20px}
  .hero-route{grid-template-columns:1fr}
  .hero-route button:first-child{grid-column:auto}
  .home-polished .content{padding:30px 16px}
  .home-polished .categories{display:grid;margin:17px 0 32px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .home-polished .cat{min-width:0;min-height:118px;padding:15px}
  .home-rich{padding:0 16px 38px}
  .home-section{padding:29px 0}
  .home-section-head{align-items:flex-start;gap:12px}
  .home-section-head h2,.home-polished .section-head h2{font-size:22px}
  .home-section-head a{flex:0 0 auto;font-size:12px}
  .district-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .hot-job-grid,.company-showcase,.path-grid,.insight-grid,.trust-home{grid-template-columns:1fr}
  .home-job,.home-company,.path-card,.insight-card{border-radius:14px}
  .home-job-top{display:grid;gap:6px}
  .trust-home{padding:18px}
  .site-footer{padding:35px 18px 24px}
  .footer-top{grid-template-columns:1fr;gap:18px}
  .footer-column{padding-top:15px;border-top:1px solid #2a414b}
  .footer-regions{line-height:2.3}
  .footer-trust{align-items:flex-start;flex-direction:column;gap:16px}
  .footer-badges{flex-wrap:wrap}

  .consumer-shell{height:calc(100dvh - var(--mobile-bar) - var(--mobile-nav) - var(--mobile-safe-bottom));min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);overflow:hidden}
  .consumer-primary{display:none}
  .nav-collapse{display:none!important}
  .consumer-stream{grid-row:1;grid-column:1;min-width:0;padding:12px 12px 24px;border-right:0}
  .stream-head{top:-12px;padding:3px 1px 10px}
  .stream-title h2{font-size:22px}
  .stream-title span{font-size:12px}
  .sort-tabs{overflow-x:auto;scrollbar-width:none}
  .sort-tabs::-webkit-scrollbar{display:none}
  .sort-tabs button{min-width:86px;white-space:nowrap}
  .consumer-job,.mode-card,.insight-list-card{padding:15px;margin-bottom:9px;border-radius:14px}
  .consumer-job:hover,.mode-card:hover{transform:none}
  .job-line{align-items:flex-start}
  .job-line b{font-size:16px}
  .job-pay{font-size:15px}
  .consumer-detail{position:fixed;z-index:105;inset:var(--mobile-bar) 0 calc(var(--mobile-nav) + var(--mobile-safe-bottom)) 0;width:100%;padding:0 17px 100px;transform:translateX(104%);transition:transform .34s cubic-bezier(.22,.85,.25,1);overscroll-behavior:contain}
  body.mobile-detail-open .consumer-detail{transform:translateX(0);box-shadow:-15px 0 40px rgba(17,47,59,.12)}
  .mobile-detail-bar{position:sticky;z-index:5;top:0;display:flex;height:50px;margin:0 -17px 12px;padding:0 17px;align-items:center;justify-content:space-between;border-bottom:1px solid #e2eaed;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
  .mobile-detail-bar button{display:flex;min-height:38px;align-items:center;gap:5px;padding:0 9px;border:0;background:transparent;color:#087f88;font-weight:800}
  .mobile-detail-bar button:before{content:'';width:8px;height:8px;border:solid currentColor;border-width:0 0 2px 2px;transform:rotate(45deg)}
  .mobile-detail-bar span{font-size:13px;color:#6d7f87}
  .detail-top{display:block;padding-bottom:17px}
  .detail-top h1{font-size:26px}
  .detail-pay{font-size:20px}
  .detail-meta{line-height:1.7}
  .job-actions{position:fixed;z-index:3;right:0;bottom:calc(var(--mobile-nav) + var(--mobile-safe-bottom));left:0;display:grid;padding:9px 12px;grid-template-columns:1fr 1fr 1.35fr;border-top:1px solid #dce7ea;background:rgba(255,255,255,.97);box-shadow:0 -8px 25px rgba(20,54,68,.08);backdrop-filter:blur(14px)}
  .job-actions button{display:none;height:46px;padding:0 8px}
  .job-actions #saveJob,.job-actions .chat,.job-actions .apply{display:block}
  .detail-section{padding:18px 0}
  .detail-section h2{font-size:19px}
  .company-panel{align-items:flex-start;gap:10px;flex-direction:column}
  .related-job{gap:12px}

  .mobile-filter-backdrop{position:fixed;z-index:115;inset:0;display:block;background:rgba(12,35,43,.38);opacity:0;visibility:hidden;transition:.22s}
  body.mobile-filter-open .mobile-filter-backdrop{opacity:1;visibility:visible}
  .consumer-filters{position:fixed;z-index:120;right:0;bottom:calc(var(--mobile-nav) + var(--mobile-safe-bottom));left:0;display:flex!important;max-height:74dvh;padding:12px 16px 18px;flex-direction:column;align-items:stretch;gap:9px;overflow-y:auto;border:0;border-radius:22px 22px 0 0;background:#f7fbfc;box-shadow:0 -18px 55px rgba(12,42,53,.2);transform:translateY(112%);transition:transform .34s cubic-bezier(.22,.85,.25,1);white-space:normal}
  body.mobile-filter-open .consumer-filters{transform:translateY(0)}
  .mobile-filter-head{position:sticky;z-index:4;top:-12px;display:flex;min-height:50px;margin:-12px -16px 2px;padding:0 16px;align-items:center;justify-content:space-between;border-bottom:1px solid #e1eaed;background:#fff;border-radius:22px 22px 0 0}
  .mobile-filter-head b{font-size:17px}
  .mobile-filter-head button{min-width:44px;min-height:38px;padding:0 10px;border:0;background:#eef4f5;color:#4d6570}
  .journey-modes{display:grid!important;width:100%;grid-template-columns:repeat(3,1fr)}
  .journey-modes button{min-width:0!important;padding:9px 5px!important}
  .hover-filter{width:100%}
  .filter-trigger{width:100%;height:46px;text-align:left}
  .filter-trigger:after{content:'選擇';float:right;color:#8b9aa1;font-size:11px}
  .filter-menu{position:static;display:none;width:100%;min-width:0;margin-top:6px;max-height:230px;overflow-y:auto;opacity:1;visibility:visible;transform:none;box-shadow:none}
  .hover-filter.open .filter-menu{display:block}
  .consumer-filters input,.consumer-filters select,.employer-crm .consumer-filters input,.employer-crm .consumer-filters select{width:100%!important;min-width:0!important;height:46px!important;margin:0!important}
  .consumer-filters>button,.employer-crm .consumer-filters>button{width:100%;min-height:46px}

  .consumer-shell.account-workspace,.consumer-shell.seeker-friendly,.consumer-shell.employer-crm,.consumer-shell.operations-admin{height:calc(100dvh - var(--mobile-bar) - var(--mobile-nav) - var(--mobile-safe-bottom));grid-template-rows:auto minmax(0,1fr)}
  .account-workspace .consumer-primary,.seeker-friendly .consumer-primary,.employer-crm .consumer-primary,.operations-admin .consumer-primary{position:relative;z-index:8;display:flex;grid-row:1;grid-column:1;width:100%;padding:8px 10px;gap:7px;overflow-x:auto;border-right:0;border-bottom:1px solid #dce7ea;background:#fff;scrollbar-width:none}
  .account-workspace .consumer-primary::-webkit-scrollbar,.employer-crm .consumer-primary::-webkit-scrollbar,.operations-admin .consumer-primary::-webkit-scrollbar{display:none}
  .account-workspace .consumer-primary h4,.account-workspace .account-context,.seeker-friendly .consumer-primary h4,.seeker-friendly .simple-person,.employer-crm .consumer-primary h4,.employer-crm .crm-brand,.operations-admin .consumer-primary h4,.operations-admin .admin-brand,.consumer-primary [hidden]{display:none!important}
  .account-workspace .consumer-primary>button,.seeker-friendly .consumer-primary>button,.employer-crm .consumer-primary>button,.operations-admin .consumer-primary>button{display:flex!important;width:auto;min-width:max-content;min-height:40px;margin:0;padding:0 13px;align-items:center;border:1px solid #dce7ea;border-radius:10px;background:#fff;font-size:13px}
  .seeker-friendly .consumer-primary>button{gap:0}
  .seeker-friendly .consumer-primary>button small{display:none}
  .account-workspace .consumer-primary>button.active,.seeker-friendly .consumer-primary>button.active,.employer-crm .consumer-primary>button.active,.operations-admin .consumer-primary>button.active{border-color:#5bcfc6;background:#e1f8f5;color:#087f78;box-shadow:none;transform:none}
  .account-workspace .consumer-stream,.seeker-friendly .consumer-stream,.employer-crm .consumer-stream,.operations-admin .consumer-stream{grid-row:2}
  .account-workspace .consumer-detail,.seeker-friendly .consumer-detail,.employer-crm .consumer-detail,.operations-admin .consumer-detail{top:calc(var(--mobile-bar) + 57px)}
  .simple-welcome{padding:22px}
  .simple-welcome h1{font-size:25px}
  .simple-status,.simple-application-steps,.plain-choice,.crm-kpis,.crm-profile-grid,.pipeline-grid,.quality-gate>div,.crm-verification-grid{grid-template-columns:1fr}
  .friendly-form{padding-top:14px}
  .friendly-form-head h1{font-size:25px}
  .friendly-actions{position:sticky;bottom:0;z-index:4;padding:10px 0;background:#fff}
  .crm-hero{padding:20px;flex-direction:column}
  .crm-contact-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}
  .crm-contact-actions button{min-height:44px}
  .crm-profile-head>div:first-child{padding-left:0}
  .crm-avatar{position:static;margin-bottom:10px}
  .crm-inline-actions label{width:100%;margin-left:0}
  .crm-bars>div{grid-template-columns:76px 1fr 25px}
  .product-dialog,.modal-box{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 110px);overflow-y:auto;border-radius:18px!important}
  .pwa-update{right:12px;bottom:calc(var(--mobile-nav) + var(--mobile-safe-bottom) + 10px);left:12px;max-width:none}
}

@media(max-width:380px){
  .mobile-header-tools [data-mobile-business]{display:none}
  .home-polished .hero h1{font-size:34px}
  .home-polished .categories{grid-template-columns:1fr}
  .mobile-bottom-nav a{font-size:9px}
}

@media(prefers-reduced-motion:reduce){
  .consumer-detail,.consumer-filters,.mobile-filter-backdrop{transition-duration:.01ms!important}
  .consumer-job,.mode-card,.jelly{animation:none!important}
}
